ietf
[Top] [All Lists]

RE: Gen-ART review of draft-ietf-avt-rtp-and-rtcp-mux-05.txt

2007-07-26 10:29:39
Colin, 

More comments inline.

Thanks for the review - some comments inline.

On 16 Jul 2007, at 22:35, Black_David(_at_)emc(_dot_)com wrote:
I have been selected as the General Area Review Team (Gen-ART)
reviewer for this draft (for background on Gen-ART, please see
http://www.alvestrand.no/ietf/gen/art/gen-art-FAQ.html).

Please resolve these comments along with any other Last Call
comments you may receive.


Document: draft-ietf-avt-rtp-and-rtcp-mux-05.txt
Reviewer: David Black
Review Date: 16 July 2007
IETF LC End Date: 17 July 2007

Summary:
This draft is on the right track, but has open issues,
described in the review.

Comments:

The draft is generally in good shape, although one needs to
be an RTP expert to understand all the details.

The only "open issue" is the missing instructions to IANA
for RTCP packet type registration - from a technical standpoint,
this is a nit, but getting it right is of sufficient importance
to avoidance of future restrictions RTP/RTCP multiplexing that
I've flagged it as an open issue.

Everything else in this review is an editorial comment, although
the absence of the explanation of the mechanics of the RTP/RTCP
conflicts makes that section of the draft difficult to read.

Section 1 talks about NAT (Network Address Translation) as a
motivation, but the real motivation appears to be NAPT (Network
Address Port Translation).  This ought to be discussed, and I
strongly suggest an Informative reference to RFC 3022.  The
term "NAT pinhole" also needs to be explained here to connect
the problems caused by two UDP ports to NAPT usage, and it
may be useful to mention firewall pinholes as a related issue.

We can change "Network Address Translation (NAT)" to "Network Address

Port Translation (NAPT)" in the Introduction, and add a reference to  
RFC 3022, sure. Sloppy terminology on my part.

Would changing "since opening multiple NAT pinholes can be costly" to

"since maintaining multiple NAT bindings can be costly" address your  
other concern?

Yes, although the firewall interaction would still be useful to
mention as the number of ports that have to be opened for an
application is a consideration in firewall administration.

Section 4 should explain the mechanics of the RTP/RTCP conflict:
- The RTCP PT is bits 8-15.
- The RTP PT is bits 9-15.
- RTP uses bit 8 in that word for a M (Marker) bit that
    may be on or off.
The latter item is the cause for needing to check for whether the
RTCP PT conflicts with either the RTP PT or the RTP PT + 128.

The draft hints at this already in section 4:

    This demultiplexing method works because the RTP payload type and
    RTCP packet type occupy the same position within the packet.

If you think more is needed, please suggest wording, and I'll add it.

Try this - it's mostly a rewrite for clarity, the important structural
change is describing the involvement of the marker bit before stating
the restrictions.

OLD:
   When RTP and RTCP packets are multiplexed onto a single port, they
   can be distinguished provided: 1) the RTP payload type (PT) values
   used are distinct from the RTCP packet types used; and 2) for each
   RTP payload type, PT+128 is distinct from the RTCP packet types used.
   The first constraint precludes a direct conflict between RTP payload
   type and RTCP packet type, the second constraint precludes a conflict
   between an RTP data packet with marker bit set and an RTCP packet.
   This demultiplexing method works because the RTP payload type and
   RTCP packet type occupy the same position within the packet.

NEW:
   When RTP and RTCP packets are multiplexed onto a single port, the
   RTCP packet type field occupies the same position in the packet as
   the combination of the RTP marker (M) bit and the RTP payload type
(PT).
   This field can be used to distinguish RTP and RTCP packets when two
   restrictions are observed: 1) the RTP payload type values used are
   distinct from the RTCP packet types used; and 2) for each RTP payload
   type (PT), PT+128 is distinct from the RTCP packet types used.
   The first constraint precludes a direct conflict between RTP payload
   type and RTCP packet type, the second constraint precludes a conflict
   between an RTP data packet with the marker bit set and an RTCP
packet.

The last 2 paragraphs in Section 4 before the final Note in that
section need attention:
- The paragraph on registration of new RTCP packet types needs to
    instruct IANA on what rules to enforce.  The use of "SHOULD"
    in the current text is not sufficient, instead this needs to
    be restated as instructions to IANA on how to assign RTCP
    packet types and noted in the IANA considerations section.

Makes sense. I suggest adding something like the following to the  
IANA considerations:

    The rules for assignment of RTP RTCP Control Packet Types in the
RTP
    Parameters registry are updated as follows.  When assigning RTP
RTCP
    Control Packet types, IANA is requested to assign unused values
from
    the range 200-254 where possible.  If that range is fully
occupied,
    values from the range 194-199 may be used, and then values from
the
    range 1-191. This improves header validity checking of RTCP
packets
    compared to RTP packets or other unrelated packets. The values 0
and
    255 are avoided for improved validity checking relative to random
    packets since all-zeros and all-ones are common values.

Ok, and please bring the Section 4 text into line with this.


- In this text in the second paragraph:

   Given these constraints, it is RECOMMENDED to follow the
guidelines
   in the RTP/AVP profile [7] for the choice of RTP payload type
values,

    Insert the word "dynamic" between "the choice of" and "RTP
    payload type values" for clarity.

The guidelines in the RTP/AVP profile apply to both static and  
dynamic RTP payload types, so inserting "dynamic" here would be  
incorrect.

Ok, but IANA thinks the RTP static payload type registry is closed.

OTOH, if static payload types are a concern, should the current
72--76 "reserved for RTCP conflict avoidance" range in the RTP
payload type registry be expanded to 64--95 or 66--95 to prevent
conflicts with future RTCP packet type allocations?  That would
seem like a prudent thing to do.

Thanks,
--David
----------------------------------------------------
David L. Black, Senior Technologist
EMC Corporation, 176 South St., Hopkinton, MA  01748
+1 (508) 293-7953             FAX: +1 (508) 293-7786
black_david(_at_)emc(_dot_)com        Mobile: +1 (978) 394-7754
----------------------------------------------------

_______________________________________________
Ietf mailing list
Ietf(_at_)ietf(_dot_)org
https://www1.ietf.org/mailman/listinfo/ietf