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

Reply via email to