| draft-arkko-path-signals-information.md | draft-iab-path-signals-collaboration.md | |||
|---|---|---|---|---|
| --- | --- | |||
| title: Considerations on Information Passed between Networks and Applications | title: Considerations on Application - Network Collaboration Using Path Signals | |||
| abbrev: Path Signals Info | abbrev: Path Signals Collab | |||
| docname: draft-arkko-path-signals-information-latest | docname: draft-iab-path-signals-collaboration-latest | |||
| date: | date: | |||
| category: info | category: bcp | |||
| ipr: trust200902 | ipr: trust200902 | |||
| keyword: Internet-Draft | keyword: Internet-Draft | |||
| stand_alone: yes | stand_alone: yes | |||
| pi: [sortrefs, symrefs] | pi: [sortrefs, symrefs] | |||
| author: | author: | |||
| - | - | |||
| ins: J. Arkko | ins: J. Arkko | |||
| name: Jari Arkko | name: Jari Arkko | |||
| org: Ericsson | org: Ericsson | |||
| email: jari.arkko@ericsson.com | email: jari.arkko@ericsson.com | |||
| - | ||||
| ins: T. Hardie | ||||
| name: Ted Hardie | ||||
| org: Cisco | ||||
| email: ted.ietf@gmail.com | ||||
| - | ||||
| ins: T. Pauly | ||||
| name: Tommy Pauly | ||||
| org: Apple | ||||
| email: tpauly@apple.com | ||||
| - | ||||
| ins: M. Kühlewind | ||||
| name: Mirja Kühlewind | ||||
| org: Ericsson | ||||
| email: mirja.kuehlewind@ericsson.com | ||||
| normative: | normative: | |||
| informative: | informative: | |||
| RFC0793: | RFC0739: | |||
| RFC5218: | RFC5218: | |||
| RFC6709: | RFC6709: | |||
| RFC7305: | RFC7305: | |||
| RFC8558: | RFC8558: | |||
| I-D.ietf-quic-transport: | I-D.ietf-quit-transport: | |||
| I-D.irtf-panrg-what-not-to-do: | I-D.irtf-panrg-what-not-to-do: | |||
| I-D.per-app-networking-considerations: | I-D.per-app-networking-considerations: | |||
| I-D.iab-covid19-workshop: | I-D.iab-covid19-workshop: | |||
| title: "Report from the IAB COVID-19 Network Impacts Workshop 2020" | title: "Report from the IAB COVID-19 Network Impacts Workshop 2020" | |||
| author: | author: | |||
| - ins: J. Arkko | - ins: J. Arkko | |||
| - ins: S. Farrell | - ins: S. Farrell | |||
| - ins: M. Kuhlewind | - ins: M. Kühlewind | |||
| - ins: C. Perkins | - ins: C. Perkins | |||
| date: February 2021 | date: February 2021 | |||
| seriesinfo: "Internet Draft (Work in Progress), draft-iab-covid19-workshop, IETF" | seriesinfo: "Internet Draft (Work in Progress), draft-iab-covid19-workshop, IETF" | |||
| --- abstract | --- abstract | |||
| Path signals are messages seen by on-path elements examining transport | Path signals are messages seen by on-path elements examining transport | |||
| protocols. Current preference for good protocol design indicates | protocols. Current preference for good protocol design indicates | |||
| desire for constructing explict rather than implicit signals to carry | desire for constructing explict rather than implicit signals to carry | |||
| information. For instance, the ability of various middleboxes to read | information. For instance, the ability of various middleboxes to read | |||
| TCP messaging was an implicit signal that lead to difficulties in | TCP messaging was an implicit signal that lead to difficulties in | |||
| evolving the TCP protocol without breaking connectivity through some | evolving the TCP protocol without breaking connectivity through some | |||
| of those middleboxes. | of those middleboxes. | |||
| This document discusses the types of information that could be passed | This document discusses how information could be passed in these path | |||
| in these path signals, and provides some advice on what types of | signals, and provides some advice on what collaboration modes might be | |||
| information might be provided in a beneficial manner, and which | beneficial, and which might be less likely to be used by applications | |||
| information might be less likely to be revealed or used by | or networks. | |||
| applications or networks. | ||||
| --- middle | --- middle | |||
| # Introduction | # Introduction | |||
| {{RFC8558}} discusses the topic of path signals: Path signals are | {{RFC8558}} discusses the topic of path signals: Path signals are | |||
| messages seen by on-path elements examining transport protocols. | messages seen by on-path elements examining transport protocols. | |||
| There's a difference between implicit and explicit signals. For | There's a difference between implicit and explicit signals. For | |||
| instance, TCP's well-known messages {{RFC0793}} are in the clear, and | instance, TCP's well-known messages {{RFC0793}} are in the clear, and | |||
| often interpreted in various ways by on-path elements. In contrast, | often interpreted in various ways by on-path elements. In contrast, | |||
| QUIC protects almost all of this information, and hence end-to-end | QUIC protects almost all of this information, and hence end-to-end | |||
| signaling becomes opaque for network elements in between. QUIC | signaling becomes opaque for network elements in between. QUIC | |||
| does provide some information, but has chosen to make these | does provide some information, but has chosen to make these | |||
| signals (such as the Spin bit) explicit {{I-D.ietf-quic-transport}}. | signals (such as the Spin bit) explicit {{I-D.ietf-quic-transport}}. | |||
| Many attempts have been made at network - application collaboration | Many attempts have been made at network - application collaboration | |||
| using path signals. Section 2 discusses some of the experiences and | using path signals. Section 2 discusses some of the experiences and | |||
| guidelines determine from those attempts. This draft then focuses | guidelines determine from those attempts. This draft then focuses on | |||
| on the specific question of what kind of data can be passed. | the specific question of what collaboration modes are useful. The | |||
| draft attempts to provide guidance in the form of architectural | ||||
| principles. | ||||
| # Past Experiences and Guidance | # Past Guidance | |||
| Incentives are a well understood problem in general but perhaps not | Incentives are a well understood problem in general but perhaps not | |||
| fully internalised for various collaborative like designs. The | fully internalised for various collaborative like designs. The | |||
| principle is that both receiver and sender of information must acquire | principle is that both receiver and sender of information must acquire | |||
| tangible and immediate benefits from the communication, such as | tangible and immediate benefits from the communication, such as | |||
| improved performance, | improved performance, | |||
| A related issue is understanding whether there is or is not a business | A related issue is understanding whether there is or is not a business | |||
| model or ecosystem change. Some designs may work well without any | model or ecosystem change. Some designs may work well without any | |||
| monetary or payment or cross-administrative domains agreements. For | monetary or payment or cross-administrative domains agreements. For | |||
| skipping to change at line 120 | skipping to change at line 139 | |||
| There are also more general guidance documents, e.g., {{RFC5218}} | There are also more general guidance documents, e.g., {{RFC5218}} | |||
| discusses protocol successes and failures, and provides general advice | discusses protocol successes and failures, and provides general advice | |||
| on incremental deployability etc. Internet Technology Adoption and | on incremental deployability etc. Internet Technology Adoption and | |||
| Transition (ITAT) workshop report {{RFC7305}} is also recommended | Transition (ITAT) workshop report {{RFC7305}} is also recommended | |||
| reading on this same general topic. And {{RFC6709}} discusses protocol | reading on this same general topic. And {{RFC6709}} discusses protocol | |||
| extensibility, and provides general advice on the importance of global | extensibility, and provides general advice on the importance of global | |||
| interoperability and so on. | interoperability and so on. | |||
| # Principles | # Principles | |||
| This section attempts to provide some further guidelines, relating to | This section attempts to provide some architecture-level principles | |||
| information that can be passed in path signals. Hopefully, these | that would help future designers, explain past issues and recommend | |||
| guidelines can help future designers, explain past issues and | useful models to apply. | |||
| recommend useful models to apply. | ||||
| ... | ||||
| ## Parties Need to Consent | ||||
| ... | ||||
| ## Information Specificity | ## Information Specificity | |||
| One common problem in finding a workable solution for network - | One common problem in finding a workable solution for network - | |||
| application collaboration is information leakage. All parties are | application collaboration is information leakage. All parties are | |||
| afraid of either their own propietary information or the users' data | afraid of either their own propietary information or the users' data | |||
| leaking to others. Oddly enough, no one is usually worried about | leaking to others. (Oddly enough, no one is usually worried about | |||
| users' data leaking to themselves, but I digress. :-) | users' data leaking to themselves, but I digress. :-) ) | |||
| {{I-D.per-app-networking-considerations}} discusses how applications | {{I-D.per-app-networking-considerations}} discusses how applications | |||
| may be identified through collaboration mechanisms. This can be | may be identified through collaboration mechanisms. This can be | |||
| harmful, as in extreme cases it may lead to undesirable prioritization | harmful, as in extreme cases it may lead to undesirable prioritization | |||
| decisions or even blocking certain | decisions or even blocking certain | |||
| applications. {{I-D.per-app-networking-considerations}} explains how | applications. {{I-D.per-app-networking-considerations}} explains how | |||
| to reduce the latter problem by categories or requested service rather | to reduce the latter problem by categories or requested service rather | |||
| than specific application identity, such as providing the category | than specific application identity, such as providing the category | |||
| "video call service" rather than the name of a particular application | "video call service" rather than the name of a particular application | |||
| performing conference call or video call services. This points to a | performing conference call or video call services. This points to a | |||
| skipping to change at line 153 | skipping to change at line 177 | |||
| information that is needed for the other party to perform the | information that is needed for the other party to perform the | |||
| collaboration task that is desired by this party, and not more. This | collaboration task that is desired by this party, and not more. This | |||
| applies to information sent by an application about itself, | applies to information sent by an application about itself, | |||
| information sent about users, or information sent by the network. | information sent about users, or information sent by the network. | |||
| An architecture can follow the guideline from RFC 8558 in using | An architecture can follow the guideline from RFC 8558 in using | |||
| explicit signals, but still fail to differentiate properly between | explicit signals, but still fail to differentiate properly between | |||
| information that should be kept private and information that should be | information that should be kept private and information that should be | |||
| shared. | shared. | |||
| In looking at what information can or cannot easily be passed, we | ## Authenticating Discussion Partners | |||
| can look at both information from the network to the application, | ||||
| and from the application to the network. | ||||
| For the application to the network direction, user-identifying | (even outside the client and server) | |||
| information can be problematic for privacy and tracking reasons. | ||||
| Similarly, application identity can be problematic, if it might form | ||||
| the basis for prioritization or discrimination that the that | ||||
| application provider may not wish to happen. It may also have | ||||
| undesirable economic consequences, such as extra charges for the | ||||
| consumer from a priority service where a regular service would have | ||||
| worked. | ||||
| On the other hand, as noted above, information about general classes | ... | |||
| of applications may be desirable to be given by application providers, | ||||
| if it enables prioritization that would improve service, e.g., | ||||
| differentiation between interactive and non-interactive services. | ||||
| For the network to application direction there's less directly | ## Authentication does not equal Trust | |||
| sensitive information. Various network conditions, predictive | ||||
| bandwidth and latency capabilities, and so on might be attractive | ||||
| information that applications can use to determine, for instance, | ||||
| optimal strategies for changing codecs. | ||||
| However, care needs to be take to ensure that neither private | ... | |||
| information about the individual user (such as user's physical | ||||
| location) is not indirectly exposed through this | ||||
| information. Similarly, this information should not form a mechanism | ||||
| to provide a side-channel into what other users are doing. | ||||
| ## Granularity | ## Granularity | |||
| In the IAB Covid-19 Network Impacts workshop Jana Iyengar brought up | In the IAB Covid-19 Network Impacts workshop Jana Iyengar brought up | |||
| the granularity of operations {{I-D.iab-covid19-workshop}}. There are | the granularity of operations {{I-D.iab-covid19-workshop}}. There are | |||
| many reasons why per-flow designs are problematic: scalability, need | many reasons why per-flow designs are problematic: scalability, need | |||
| to release information about individual user’s individual activities, | to release information about individual user’s individual activities, | |||
| etc. Perhaps designs that work on aggregates would work better. | etc. Perhaps designs that work on aggregates would work better. | |||
| ## Incentives and Business Models | ||||
| Incentives are a well understood problem in general but perhaps | ||||
| not fully internalised for APN or QoS-like designs; a principle might | ||||
| be that both receiver and sender of information must acquire tangible | ||||
| and immediate benefits from the communication, such as improved | ||||
| performance, | ||||
| A related issue is understanding whether there is or is not a business | ||||
| model or ecosystem change. Some designs may work well without any | ||||
| monetary or payment or cross-administrative domains agreements. For | ||||
| instance, I could ask my packets to be prioritised relative to each | ||||
| other and that shouldn’t affect anything else. Some other designs may | ||||
| require a matching business ecosystem change to support what is being | ||||
| proposed, and may be much harder to achieve. For instance, requesting | ||||
| prioritisation over other people’s traffic may imply that you have to | ||||
| pay for that which may not be easy even for a single provider let | ||||
| alone across many. | ||||
| # Acknowledgments | # Acknowledgments | |||
| The author would like to thank Mirja Kuhlewind, Tommy Pauly, Ted | The authors would like to thank everyone at the IETF, the IAB, and our day jobs for interesting thoughts and proposals in this space. | |||
| Hardie, David Allan, Brian Trammell, Szilvezter Nadas, Zaheduzzaman | ||||
| Sarker, Joel Halpern, Magnus Westerlund, Jana Iyengar and Balaz Varga | ||||
| for interesting thoughts and proposals in this space. | ||||
| End of changes. 18 change blocks. | ||||
| 46 lines changed or deleted | 69 lines changed or added | |||
This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||