Some remarks on selected aspects inline.
> > This draft is on the right track but has open issues,
> described in the
> > review. Given the length and complexity of the document, I only
> > comment on transport issues. However, for what it is worth, my
> > personal impression is that other sections not addressed by this
> > review seem to be somehow experimental.
> >
> > My main concern is the Forwarding and Link Management Layer. It is
> > designed to run over different transports, most notably TCP and UDP.
> > Having such a generic transport including built-in NAT traversal
> > support is very valuable. But I find parts of the specification
> > confusing, as explained below. Also, building a simple, generic
> > transport mechanism on top of UDP and TCP (or, DTLS and TLS) is
> > actually something that is hardly specific to RELOAD.
>
> Totally agree. One of the reasons we left room for extension
> points for new transports is in the hope that a more general
> solution will
> become mature enough to be dropped in at a later date. In line with
> that idea, we tried to go for overly simple to avoid spending
> too much time specifying complexity that we hope would be
> replaced with a better solution.
Then we should really avoid that someone read this spec and thinks that
it describes a good one-fits-all solution.
> > Section 5.6.3.1: "In general, senders MAY implement any
> rate control
> > scheme of their choice, provided that it is REQUIRED to be no more
> > aggressive then TFRC[RFC5348]. The following section describes a
> > simple, inefficient scheme that complies with this requirement."
> >
> > => Maybe I again miss something, but as far as I can see
> the following
> > sections doesn't fully explain how TFRC is implemented here. For
> > example, TFRC requires information about the segment size;
> this is not
> > considered here. In general, it is not clear to me why a simple
> > baseline implementation does not follow the TFRC protocol
> (RFC 5348)
> > more closely (or a light-weight user-space TCP-like protocol).
> >
>
> again, simplicity won out. We believe what's there is a
> simpler protocol (the simplest we could think of) that
> follows the requirement of being less aggressive than TFRC.
Just to repeat what I said: The draft doesn't explain how the
requirement of being less aggressive than TFRC is indeed achieved.
> > Section 5.6.3.1.1: "In each retransmission, the sequence number is
> > incremented."
> >
> > => It would be worth to spend a sentence about the rational and
> > consequences of this. For instance, whether this implies that a
> > receiver may process the original message and the
> retransmission twice.
> >
>
> Happy to spend a sentence on this, but just to be clear, this
> is designed to allow the world's dumbest stop-and-wait protocol.
Well, this sentence prevents even the alternating bit protocol... In
fact, this solution is closer to a timestamp than a sequence number.
> Specifically, the goal of 5.6.3.1.1 is to specify a
> ludicrously simple, totally safe algorithm that is sufficient
> for most envisioned deployments of P2PSIP for implementors
> who don't want to spend the time implementing TFRC. I would
> hope most do spend the time, but it seemed unnecessary to
> specify how TFRC works in this document.
AFAIK, section 5.6.3.1.1 is *not* save as it is, and it does *not*
guarantee that it is less aggressive than TFRC.
The specified protocol is probably save *if and only if* the sender
ensures that only very few messages are sent. Then, section 3.1.2. of
RFC 5405 applies ("Low Data-Volume Applications").
For instance, I guess that the protocol would indeed be OK if the spec
did mandate that only a single message MUST be outstanding on a link.
But, unless I miss something, at the moment there is only an upper limit
to 100 messages/sec. IMHO this is orders of magnitude above the low
data-volume applications discussed in RFC 5405.
> > Section 5.6.3.1.1: "Implementations that use a dynamic estimate to
> > compute the RTO MUST use the algorithm described in RFC
> 6298[RFC6298],
> > with the exception that the value of RTO SHOULD NOT be
> rounded up to
> > the nearest second but instead rounded up to the nearest
> millisecond."
> >
> > => This sentence doesn't cite RFC 6298 correctly. RFC 6298 doesn't
> > mandate to round up to the nearest second. It mandates a
> minimum RTO
> > of
> > 1 second. And I strongly suggest to use such a minimum RTO as well
> > (maybe 500ms as minimum would be OK as well).
> >
>
> I think you refer to where 6298 says:
>
> Until a round-trip time (RTT) measurement has been made for a
> segment sent between the sender and receiver, the
> sender SHOULD
> set RTO <- 1 second, though the "backing off" on repeated
> retransmission discussed in (5.5) still applies.
>
> there's no need for that as ICE has already completed, so we
> have an RTT measurement.
My understanding of this sentence is completely different. In my
opinion, it suggests not to use this part 6298:
" (2.4) Whenever RTO is computed, if it is less than 1 second, then the
RTO SHOULD be rounded up to 1 second."
In other words, Section 5.6.3.1.1 argues that the minumum RTO should be
1ms. IMHO, this value is orders of magnitude too small.
Maybe this is just a phrasing issue. But, again, I think that you should
use a minimum RTO of the order of 500ms independent of how you measure
the RTT. Otherwise, the protocol is very vulnerable to changes of the
path RTT etc.
Michael
_______________________________________________
P2PSIP mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/p2psip