Draft: draft-ietf-mops-streaming-opcons

Commentary: Looks good , ready to merge . 
 Merging based on  's review ( thanks ! ) . 
 from 's review ( ) ( in Section 6.2 . TCP and Its Behavior ) Some further specific comments on TCP congestion control : It is surprising that RFC 5681 is not referenced.793bis has normative statements regarding congestion control , and most stacks are compatible to what is written in 793bis . Several operating systems use CUBIC by default and support standard Reno . Another general good reference for TCP standards is RFC 7414 . 
 - thank you for these suggestions - they should have all occurred to me when typing this section , but they did not . 
 from 's review ( ) Section 6.2 . TCP and Its Behavior This text should IMHO be presented and be discussed in TCPM . Personally , I am not convinced that this document is a good place for discussing the long history of TCP congestion control . If the objective of the document is to provide a tutorial , IMHO it would be more useful to briefly explain the state - of - the - art in year 2022 .
Mailing list commentary: Reviewer : Review result : Ready with Issues This document has been reviewed as part of the transport area review team 's ongoing effort to review key IETF documents . These comments were written primarily for the transport area directors , but are copied to the document 's authors and WG to allow them to address any issues raised and also to the IETF discussion list for information . When done at the time of IETF Last Call , the authors should consider this review as part of the last - call comments they receive . Please always CC tsv- if you reply to or forward this review . This informational document surveys network and transport protocol issues that affect quality of experience for streaming applications , in particular video . The overview covers many topics across different technologies . Readers may only be familiar with a subset of these topics and could therefore learn quite a bit from this kind of tutorial . Nonetheless , it remains somewhat unclear what the actual objective of some of the text is . For some topics , quite a bit of technical background is provided , but the discussion is not really comprehensive . In many sections , the document neither derives technical challenges , nor system / protocol requirements , nor practical usage guidance . It is just a kind of tutorial . Quite a bit of text also presents ongoing IETF work , and an RFC with this scope may thus get outdated soon . Section 6.2 deals with topics owned by TCPM . In similar past documents , I have asked for a TCPM presentation prior to an IETF last call in order to ensure that owners of running code are in the loop . I believe this strategy has worked well in the past . Having said this , as TSV - ART reviewer I do n't strongly disagree with a publication . All these issues may just be OK for an informational RFC . Some more specific comments : Section 3.2.1 . from an Expected Baseline This section apparently assumes relatively static path properties , e.g. , fixed network connectivity . It would be more useful to analyze the impact of and 4G/5 G networks in one place . Some of this follows later in sections 3.2.1 and 5.5.3 . Yet , the split between these three sections is unclear . Having a discussion about today 's Internet path characteristics and the dynamics at one place could be more useful . The text could also better distinguish between what matters to endpoints and considerations relevant only for middleboxes ( such as passive monitors ) . Section 3.3 Path Requirements The statement " to find the bandwidth requirements for a router on the delivery path " may assume that the bottleneck on the path will be routers . Yet , on a path the bottlenecks could also be a link layer device ( e.g. , an   , a access point , etc . ) . RFC 6077 ( specifically Section 3.1.3 ) also explains that issue . A better wording may be " to find the bandwidth requirements for a delivery path " . Section 3.6 . Unpredictable Usage Profiles / Section 3.7 . Extremely Unpredictable Usage Profiles I am not fully convinced by the distinction between " unpredictable " and " extremely unpredictable " . To me , these two sections could be merged and maybe also be shortened . More specifically , Section 3.7 lists a lot of statistics from the past . What is IMHO a bit missing in Section 3.7 are actual operational considerations . For instance , are there any lessons learnt for the future ? Note that Section 3.6 has a reasonable conclusion at the end . Section 4 . Latency Considerations and Section 4.1 . I am surprised by the definition " ultra low - latency ( less than 1 second ) " , as well as some of the other numbers . For other real - time communication use cases , " ultra low - latency " would probably imply a latency requirement of the order of one millisecond . For instance , isochronous traffic for motion control in industrial networks may require a latency of 1 ms , and such " ultra - low latency " requirements are discussed elsewhere , e.g. , in the DetNet WG . The terminology in this section should be better explained to readers dealing with networked systems with much harder latency requirements . And a reference should be for these definitions in the context of video streaming . Section 5.5.2 Head - of - Line Blocking If Head - of - Line Blocking is indeed a relevant operational problem , it would be useful to add a corresponding reference ( e.g. , with measurements ) . Section 5.5.3 . Wide and Rapid Variation in Path Capacity The statement " As many end devices have moved to wireless connectivity for the final hop ( Wi - Fi , 5 G , or LTE ) , new problems in bandwidth detction have emerged from radio interference and signal strength effects . " could be moved to earlier parts of the document . Quite a bit of new computers apparently only have connectivity and no Ethernet port , i.e. , may just be their default . Also , wireless may not only be used on the last hop , for instance in meshed setups . This may make the problem even harder . Section 6 . Evolution of Transport Protocols and Transport Protocol Behaviors I really wonder whether UDP vs. vs. QUIC is actually the relevant distinction . What may actually matter are the transport services provided by the protocol stack ( e.g. , RFC 8095 ) . I fully agree to a related comment in the INTDIR review . Section 6.1 . UDP and Its Behavior UDP is also used for encrypted tunnels ( OpenVPN , Wireguard , etc . ) . Does encrypted tunneling really have no operational impact on streaming other than circuit breakers ? ( I am thinking about 4 K streaming over OpenVPN and the like . ) Section 6.2 . TCP and Its Behavior This text should IMHO be presented and be discussed in TCPM . Personally , I am not convinced that this document is a good place for discussing the long history of TCP congestion control . If the objective of the document is to provide a tutorial , IMHO it would be more useful to briefly explain the state - of - the - art in year 2022 . Some further specific comments on TCP congestion control : It is surprising that RFC 5681 is not referenced .793bis has normative statements regarding congestion control , and most stacks are compatible to what is written in 793bis . Several operating systems use CUBIC by default and support standard Reno . Another general good reference for TCP standards is RFC 7414 .Does ECN , DCTCP , etc . really not matter at all , for instance , if a data center hosts video playout servers ? Section 6.3 . QUIC and Its Behavior As already noted , the discussion about head - of - line - blocking would really benefit from backing by a reference . Section 7 . Streaming Encrypted Media As far as I know , streaming users sometimes use encrypted tunnels such as OpenVPN or WireGuard ( or IPsec ) to access video content . I may miss something , but it is unclear to me how that fits into the categories presented in Section 7 .
Reviewer : Review result : Ready with Issues This document has been reviewed as part of the transport area review team 's ongoing effort to review key IETF documents . These comments were written primarily for the transport area directors , but are copied to the document 's authors and WG to allow them to address any issues raised and also to the IETF discussion list for information . When done at the time of IETF Last Call , the authors should consider this review as part of the last - call comments they receive . Please always CC tsv- if you reply to or forward this review . This informational document surveys network and transport protocol issues that affect quality of experience for streaming applications , in particular video . The overview covers many topics across different technologies . Readers may only be familiar with a subset of these topics and could therefore learn quite a bit from this kind of tutorial . Nonetheless , it remains somewhat unclear what the actual objective of some of the text is . For some topics , quite a bit of technical background is provided , but the discussion is not really comprehensive . In many sections , the document neither derives technical challenges , nor system / protocol requirements , nor practical usage guidance . It is just a kind of tutorial . Quite a bit of text also presents ongoing IETF work , and an RFC with this scope may thus get outdated soon . Section 6.2 deals with topics owned by TCPM . In similar past documents , I have asked for a TCPM presentation prior to an IETF last call in order to ensure that owners of running code are in the loop . I believe this strategy has worked well in the past . Having said this , as TSV - ART reviewer I do n't strongly disagree with a publication . All these issues may just be OK for an informational RFC . Some more specific comments : Section 3.2.1 . from an Expected Baseline This section apparently assumes relatively static path properties , e.g. , fixed network connectivity . It would be more useful to analyze the impact of and 4G/5 G networks in one place . Some of this follows later in sections 3.2.1 and 5.5.3 . Yet , the split between these three sections is unclear . Having a discussion about today 's Internet path characteristics and the dynamics at one place could be more useful . The text could also better distinguish between what matters to endpoints and considerations relevant only for middleboxes ( such as passive monitors ) . Section 3.3 Path Requirements The statement " to find the bandwidth requirements for a router on the delivery path " may assume that the bottleneck on the path will be routers . Yet , on a path the bottlenecks could also be a link layer device ( e.g. , an   , a access point , etc . ) . RFC 6077 ( specifically Section 3.1.3 ) also explains that issue . A better wording may be " to find the bandwidth requirements for a delivery path " . Section 3.6 . Unpredictable Usage Profiles / Section 3.7 . Extremely Unpredictable Usage Profiles I am not fully convinced by the distinction between " unpredictable " and " extremely unpredictable " . To me , these two sections could be merged and maybe also be shortened . More specifically , Section 3.7 lists a lot of statistics from the past . What is IMHO a bit missing in Section 3.7 are actual operational considerations . For instance , are there any lessons learnt for the future ? Note that Section 3.6 has a reasonable conclusion at the end . Section 4 . Latency Considerations and Section 4.1 . I am surprised by the definition " ultra low - latency ( less than 1 second ) " , as well as some of the other numbers . For other real - time communication use cases , " ultra low - latency " would probably imply a latency requirement of the order of one millisecond . For instance , isochronous traffic for motion control in industrial networks may require a latency of 1 ms , and such " ultra - low latency " requirements are discussed elsewhere , e.g. , in the DetNet WG . The terminology in this section should be better explained to readers dealing with networked systems with much harder latency requirements . And a reference should be for these definitions in the context of video streaming . Section 5.5.2 Head - of - Line Blocking If Head - of - Line Blocking is indeed a relevant operational problem , it would be useful to add a corresponding reference ( e.g. , with measurements ) . Section 5.5.3 . Wide and Rapid Variation in Path Capacity The statement " As many end devices have moved to wireless connectivity for the final hop ( Wi - Fi , 5 G , or LTE ) , new problems in bandwidth detction have emerged from radio interference and signal strength effects . " could be moved to earlier parts of the document . Quite a bit of new computers apparently only have connectivity and no Ethernet port , i.e. , may just be their default . Also , wireless may not only be used on the last hop , for instance in meshed setups . This may make the problem even harder . Section 6 . Evolution of Transport Protocols and Transport Protocol Behaviors I really wonder whether UDP vs. vs. QUIC is actually the relevant distinction . What may actually matter are the transport services provided by the protocol stack ( e.g. , RFC 8095 ) . I fully agree to a related comment in the INTDIR review . Section 6.1 . UDP and Its Behavior UDP is also used for encrypted tunnels ( OpenVPN , Wireguard , etc . ) . Does encrypted tunneling really have no operational impact on streaming other than circuit breakers ? ( I am thinking about 4 K streaming over OpenVPN and the like . ) Section 6.2 . TCP and Its Behavior This text should IMHO be presented and be discussed in TCPM . Personally , I am not convinced that this document is a good place for discussing the long history of TCP congestion control . If the objective of the document is to provide a tutorial , IMHO it would be more useful to briefly explain the state - of - the - art in year 2022 . Some further specific comments on TCP congestion control : It is surprising that RFC 5681 is not referenced .793bis has normative statements regarding congestion control , and most stacks are compatible to what is written in 793bis . Several operating systems use CUBIC by default and support standard Reno . Another general good reference for TCP standards is RFC 7414 .Does ECN , DCTCP , etc . really not matter at all , for instance , if a data center hosts video playout servers ? Section 6.3 . QUIC and Its Behavior As already noted , the discussion about head - of - line - blocking would really benefit from backing by a reference . Section 7 . Streaming Encrypted Media As far as I know , streaming users sometimes use encrypted tunnels such as OpenVPN or WireGuard ( or IPsec ) to access video content . I may miss something , but it is unclear to me how that fits into the categories presented in Section 7 .
Paragraph (version A):
For most of the history of the Internet, we have trusted TCP to limit
the impact of applications that sent a significant number of packets,
in either or both directions, on other users.  Although early
versions of TCP were not particularly good at limiting this impact
RFC0793, the addition of Slow Start and Congestion Avoidance, as
described in RFC2001, were critical in allowing TCP-based
applications to use as much bandwidth as possible, but to avoid using
more bandwidth than was possible.  Although dozens of RFCs have been
written refining TCP decisions about what to send, how much to send,
and when to send it, since 1988 Jacobson-Karels the signals available
for TCP senders remained unchanged - end-to-end acknowledgements for
packets that were successfully sent and received, and packet timeouts
for packets that were not.
Paragraph (version A):
The success of the largely TCP-based Internet is evidence that the
mechanisms TCP used to achieve equilibrium quickly, at a point where
TCP senders do not interfere with other TCP senders for sustained
periods of time, have been largely successful.  The Internet
continued to work even when the specific mechanisms used to reach
equilibrium changed over time.  Because TCP provides a common tool to
avoid contention, as some TCP-based applications like FTP were
largely replaced by other TCP-based applications like HTTP, the
transport behavior remained consistent.
Paragraph (version A):
In recent times, the TCP goal of probing for available bandwidth and
"backing off" when a network path is saturated has been supplanted by
the goal of avoiding growing queues along network paths, which
prevent TCP senders from reacting quickly when a network path is
saturated.  Congestion control mechanisms such as COPA COPA18 and BBR
I-D.cardwell-iccrg-bbr-congestion-control make these decisions based
on measured path delays, assuming that if the measured path delay is
increasing, the sender is injecting packets onto the network path
faster than the receiver can accept them, so the sender should adjust
its sending rate accordingly.
Paragraph (version A):
Although TCP behavior has changed over time, the common practice of
implementing TCP as part of an operating system kernel has acted to
limit how quickly TCP behavior can change.  Even with the widespread
use of automated operating system update installation on many end-
user systems, streaming media providers could have a reasonable
expectation that they could understand TCP transport protocol
behaviors, and that those behaviors would remain relatively stable in
the short term.
Paragraph (version B):
The past success of the largely TCP-based Internet is evidence that
the mechanisms TCP used to achieve equilibrium quickly, at a point
where TCP senders do not interfere with other TCP senders for
sustained periods of time (RFC5681), have been largely successful.
The Internet has continued to work even when the specific TCP
mechanisms used to reach equilibrium changed over time (RFC7414).
Because TCP provides a common tool to avoid contention, even when
significant TCP-based applications like FTP were largely replaced by
other significant TCP-based applications like HTTP, the transport
behavior remained safe for the Internet.
Paragraph (version B):
Modern TCP implementations (I-D.ietf-tcpm-rfc793bis) continue to
probe for available bandwidth, and "back off" when a network path is
saturated, but may also work to avoid growing queues along network
paths, which prevent TCP senders from detecting quickly when a
network path becoming saturated.  Congestion control mechanisms such
as COPA COPA18 and BBR I-D.cardwell-iccrg-bbr-congestion-control make
these decisions based on measured path delays, assuming that if the
measured path delay is increasing, the sender is injecting packets
onto the network path faster than the network can forward them (or
the receiver can accept them) so the sender should adjust its sending
rate accordingly.
Paragraph (version B):
Although common TCP behavior has changed significantly since the days
of Jacobson-Karels and RFC2001, even adding new congestion
controllers such as CUBIC RFC8312, the common practice of
implementing TCP as part of an operating system kernel has acted to
limit how quickly TCP behavior can change.  Even with the widespread
use of automated operating system update installation on many end-
user systems, streaming media providers could have a reasonable
expectation that they could understand TCP transport protocol
behaviors, and that those behaviors would remain relatively stable in
the short term.