Hi Gorry, I'm having trouble extracting from your draft some specific resolutions to the confusions over service codes that I would like to see. You seem to mix tutorial information about the basics of service codes with the attempt to establish clarity on certain points in a way that makes it difficult for me to tell if the controversial points are addressed as I would like them to be. Of course you may wish to resolve some of the controversial points differently than I would, but I can't tell if that's your intention or not. So how about if I tell you what I think should be there and then you tell me if it is or whether I'm full of hot air? I'm sorry to put the burden on you but a section-by-section commentary isn't working for me. It seems to me that the basic problem we're trying solve is that the other transport protocols use port numbers for two functions, much like the IP address locator/identifier duality. Port numbers are used at a receiving host for demultiplexing packets between the multiple applications using the transport *and* they're used by middleboxes such as firewalls for identifying the type of application that is using the connection. 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: 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.