[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[radext] #9: AD review (technical)
#9: AD review (technical)
-----------------------------------+----------------------------------------
Reporter: dromasca@â | Owner: aland@â
Type: defect | Status: new
Priority: major | Milestone: milestone1
Component: tcp-transport | Version: 1.0
Severity: Submitted WG Document | Keywords:
-----------------------------------+----------------------------------------
Date first submitted: March 9, 2010
Reference: http://ops.ietf.org/lists/radiusext/2010/msg00249.html
Please find below the AD review of AD review of
draft-ietf-radext-tcp-transport-05. I believe that the document will be
ready for IETF Last Call only after the issues raised in this review are
addressed.
The issues are divided into Technical (T) and Editorial (E).
T1. The document is marked as EXPERIMENTAL. It would be useful if it
mentions in one of the introductory sections what are the goals and
limitations (if any) of the experimental deployment and what would be
the success criteria of the experiment that would allow for taking the
document to the standards track later.
T2. Section 2.2:
> Since these ports are unused by existing RADIUS implementations, the
assigned values SHOULD be used as the default ports for RADIUS over
TCP.
Why is this a SHOULD and not a MUST?
T3. Section 2.3 needs a complete re-writing:
> The MIB Module definitions in [RFC4668], [RFC4669], [RFC4670],
[RFC4671], [RFC4672], and [RFC4673] each contain only one reference
to UDP. These references are in the DESCRIPTION field of the MIB
Module definition, and are in the form of "The UDP port" or "the UDP
destination port".
Actually the count is not accurate. 4688 and 4670 have each two MIB
objects that refer to UDP ports, 4669 and 4671 have none, 4672 and 4673
have one each, but only in 4672 the port is referred to as UDP port
(although it is clear from the context that UDP is assumed).
> Implementations of RADIUS over TCP SHOULD re-use these MIB Modules to
perform statistics counting for RADIUS over TCP connections.
However, implementors are warned that there is no way for these MIB
Modules to distinguish between packets sent over UDP or over TCP
transport.
This does not work. One cannot know what current implementations do.
Some may behave as described here, but other may not and could count
statistics strictly over UDP as defined in the DESCRIPTION of the MIB
objects. You cannot count on that the agent implementations will do, so
there is no interoperability.
> Implementations of RADIUS over TCP SHOULD include the protocol (UDP)
or (TCP) in the radiusAuthServIdent, radiusAuthClientID,
radiusAuthClientIdentifier, radiusAccServIdent, radiusAccClientID, or
radiusAccClientIdentifier fields of the MIB Module. This information
can help the administrator distinguish capabilities of systems in the
network.
This is also broken. First it is a change in the semantics of the
respective objects. This cannot be done even in a MIB document that
updates the respective RFCs because of the SMIv2 rules. Then these
objects are of a syntax of SnmpAdminString - so including the protocol
is based on non-interoperable heuristics. Last, describing the
capabilities (UDP, TCP or both) does not indicate what runs and is
activated at a certain moment, not to speak cannot indicate anything
about specific sessions between clients and servers.
The correct solution is for the MIB documents to be updated in the
future with new MIB objects of appropriate syntax. For the time being
the only thing that this section should say is that the MIB modules do
not support RADIUS over TCP and that they will need to be updated in the
future.
T4. The following section in 2.6.1 is confusing:
> Much of the discussion in this section can be summarized by the
following requirement. RADIUS requests MAY be re-transmitted
verbatim only if the following 5-tuple (Client IP address, Client
port, Transport Protocol, Server IP address, Server port) remains the
same.
Actually this is not a retransmission on the same connection, so I do
not know why it needs to be mentioned at all. This aparently contradicts
the first paragraph of 2.6.1 which says 'As TCP is a reliable transport,
implementations MUST NOT retransmit RADIUS request packets over a given
TCP connection.'.
T5. The last paragraph in 2.6.1:
> The above requirement is necessary, but not sufficient in all cases.
Other specifications give additional situations where the packet is
to be considered as a new request. Those recommendations MUST also
be followed.
Having a MUST requirement over undefined 'other specification' is not
implementable. I would suggest to either clarify what are these 'other
specifications' or take this out.
--
Ticket URL: <http://trac.tools.ietf.org/wg/radext/trac/ticket/9>
radext <http://tools.ietf.org/radext/>
--
to unsubscribe send a message to radiusext-request@ops.ietf.org with
the word 'unsubscribe' in a single line as the message text body.
archive: <http://psg.com/lists/radiusext/>