Comments on draft-fairhurst-dccp-serv-codes-03.txt

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

 



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.



[Index of Archives]     [Linux Kernel Development]     [Linux DCCP]     [IETF Annouce]     [Linux Networking]     [Git]     [Security]     [Linux Assembly]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [DDR & Rambus]

  Powered by Linux