[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[rohc] WG review: draft-ietf-rohc-over-reordering-02.txt
Hi all,
I think the draft is in good shape. I have some comments and suggestions
concerning the handling of decompression failures and local repairs
caused by late packets.
From 5.2.3 Detected Decompression failures:
"Fortunately, as the outcome of the decompression of updating packets
can be verified, the decompressor can reliably detect decompression
failures caused by reordering and discard the packet."
When reading this sentence, you get the impression that the decompressor
can detect if the decompression failure is caused by reordering. That is
not the case, decompressor failures are detected, but whether it is
caused is packet loss bit errors or reordering is unknown. The sentence
is correct, but when I read it the first time, I got the impression that
the cause of the decompression failure could be identified.
I believe the reference to in section 5.3.2.3 in rfc3095, in the last
sentence of this section, should be changed to section 5.3.2.2.3.
Section 5.3.2.3 is "Feedback in Unidirectional mode" and section
5.3.2.2.3 is "Actions upon CRC failures".
6.1.2.3. Considerations for Local Repair Mechanisms
I have some comments on the local repair for late updating packets. The
decompressor should not always try local repair for late packets. Late
packets, decompressed by moving backwards into the interpretation
interval, could cause the decompressor to revert to an old context. If
the local repair for the late packet is successful, the next in-order
packet could potentially be outside the interpretation interval. This
will decrease the robustness against packet loss. The algorithm
suggested in rfc3095 section 5.3.2.2.5 would discard at least two
packets, if not more, when repairing the context.
Instead, if the decompressor is confident that the packet is late, it
may be allowed to pass the packet on to upper layers or discard the
packet without updating the context. The compressor can be confident
that a packet is late by going backwards in the interpretation interval
and try to decompress the the packet, using the CRC to validate the
attempt (as suggested in this section).
In rfc 3095 section 5.3.2.2.3, a decompression failure caused by a late
packet outside the interpretation interval, will add to the k out of n
check. Several late packets could cause decompressor, with a correct
context, to discard all packets until the context state is refreshed.
Allowing the decompressor to ignore context updates from suspected late
packet could decrease it vulnerability against late packets.
I suggest that we change the this section to something like this:
"When decompression fails, and if reordering is believed to be cause of
this failure, subsequent decompressions may be attempted for
sequentially late packets by going backwards in the interpretation
interval (as opposed to moving forward for local repair). If one of the
decompression attempt is successful, the late packet may be passed on to
upper layers with or without updating the decompressor context. If the
subsequent decompression attempt fails, the packet should be handled
according to [3] section 5.3.2.2.3."
[3] is rfc3095 and section 5.3.2.2.3 is "Action upon CRC failure". We
leave it up to the implementor determine if it is a late packet and if
the decompressor context should be updated or not. A late packet could
include a new update vital to the decompressor context, but it could
also include an old update that will destroy the context. The
implementor have the choice to ignore any special treatment for late
packet and handle it according to section 5.3.2.2.3 of rfc3095. To hint,
without getting to much into detail, that it is not always for the best
to immediately update the context for a late packet, even if it is
decompressed successfully and validated by the CRC.
Brgds,
/Carl Knutsson, Effnet AB
_______________________________________________
Rohc mailing list
Rohc at ietf.org
https://www1.ietf.org/mailman/listinfo/rohc