| draft-arkko-iab-path-signals-collaboration-00.txt | draft-iab-path-signals-collaboration.txt | |||
|---|---|---|---|---|
| Network Working Group J. Arkko | Network Working Group J. Arkko | |||
| Internet-Draft Ericsson | Internet-Draft Ericsson | |||
| Intended status: Informational T. Hardie | Intended status: Informational T. Hardie | |||
| Expires: 13 January 2022 Cisco | Expires: 23 July 2022 Cisco | |||
| T. Pauly | T. Pauly | |||
| Apple | Apple | |||
| M. Kühlewind | M. Kühlewind | |||
| Ericsson | Ericsson | |||
| 12 July 2021 | 19 January 2022 | |||
| Considerations on Application - Network Collaboration Using Path Signals | Considerations on Application - Network Collaboration Using Path Signals | |||
| draft-arkko-iab-path-signals-collaboration-00 | draft-iab-path-signals-collaboration-00 | |||
| Abstract | Abstract | |||
| Encryption and other security mechanisms are on the rise on all | Encryption and other security mechanisms are on the rise on all | |||
| layers of the stack, protecting user data and making network | layers of the stack, protecting user data and making network | |||
| operations more secured. Further, encryption is also a tool to | operations more secured. Further, encryption is also a tool to | |||
| address ossification that has been observed on various layers of the | address ossification that has been observed over time. Separation of | |||
| stack over time. Separation of functions into layers and enforcement | functions into layers and enforcement of layer boundaries based on | |||
| of layer boundaries based on encryption supports selected exposure to | encryption supports selected exposure to those entities that are | |||
| those entities that are addressed by a function on a certain layer. | addressed by a function on a certain layer. A clear separation | |||
| A clear separation supports innovation and also enables new | supports innovation and also enables new opportunities for | |||
| opportunities for collaborative functions. RFC 8558 describes path | collaborative functions. RFC 8558 describes path signals as messages | |||
| signals as messages to or from on-path elements. This document | to or from on-path elements. This document states principles for | |||
| states principles for designing mechanisms that use or provide path | designing mechanisms that use or provide path signals and calls for | |||
| signals and calls for actions on specific valuable cases. | actions on specific valuable cases. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on 13 January 2022. | This Internet-Draft will expire on 23 July 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2022 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents (https://trustee.ietf.org/ | |||
| license-info) in effect on the date of publication of this document. | license-info) in effect on the date of publication of this document. | |||
| Please review these documents carefully, as they describe your rights | Please review these documents carefully, as they describe your rights | |||
| and restrictions with respect to this document. Code Components | and restrictions with respect to this document. Code Components | |||
| extracted from this document must include Simplified BSD License text | extracted from this document must include Simplified BSD License text | |||
| as described in Section 4.e of the Trust Legal Provisions and are | as described in Section 4.e of the Trust Legal Provisions and are | |||
| provided without warranty as described in the Simplified BSD License. | provided without warranty as described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Past Guidance . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Past Guidance . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3. Principles . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 3. Principles . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 3.1. Intentional Distribution . . . . . . . . . . . . . . . . 6 | 3.1. Intentional Distribution . . . . . . . . . . . . . . . . 6 | |||
| 3.2. Minimum Set of Entities . . . . . . . . . . . . . . . . . 7 | 3.2. Minimum Set of Entities . . . . . . . . . . . . . . . . . 7 | |||
| 3.3. Consent of Parties . . . . . . . . . . . . . . . . . . . 7 | 3.3. Consent of Parties . . . . . . . . . . . . . . . . . . . 7 | |||
| 3.4. Minimum Information . . . . . . . . . . . . . . . . . . . 8 | 3.4. Minimum Information . . . . . . . . . . . . . . . . . . . 8 | |||
| 3.5. Protecting Information and Authentication . . . . . . . . 9 | 3.5. Carrying Information . . . . . . . . . . . . . . . . . . 9 | |||
| 4. Further Work . . . . . . . . . . . . . . . . . . . . . . . . 9 | 3.6. Protecting Information and Authentication . . . . . . . . 9 | |||
| 4. Further Work . . . . . . . . . . . . . . . . . . . . . . . . 10 | ||||
| 5. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 11 | 5. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 6. Informative References . . . . . . . . . . . . . . . . . . . 11 | 6. Informative References . . . . . . . . . . . . . . . . . . . 11 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 1. Introduction | 1. Introduction | |||
| Encryption, besides its important role in security in general, | Encryption, besides its important role in security in general, | |||
| provides a tool to control information access and protects again | provides a tool to control information access and protects again | |||
| ossification by avoiding unintended dependencies and requiring active | ossification by avoiding unintended dependencies and requiring active | |||
| maintenance. The increased deployment of encryption provides an | maintenance. The increased deployment of encryption provides an | |||
| opportunity to reconsider parts of Internet architecture that have | opportunity to reconsider parts of Internet architecture that have | |||
| rather used implicit derivation of input signals for on-path | rather used implicit derivation of input signals for on-path | |||
| functions than explicit signaling, as recommended by RFC 8558 | functions than explicit signaling, as recommended by RFC 8558 | |||
| skipping to change at page 3, line 11 ¶ | skipping to change at page 3, line 11 ¶ | |||
| TCP header [RFC0793] to derive information about end-to-end latency | TCP header [RFC0793] to derive information about end-to-end latency | |||
| as well as congestion. These techniques have evolved because the | as well as congestion. These techniques have evolved because the | |||
| information was simply available and use of this information is | information was simply available and use of this information is | |||
| easier and therefore also cheaper than any explicit and potentially | easier and therefore also cheaper than any explicit and potentially | |||
| complex cooperative approach. | complex cooperative approach. | |||
| As such, applications and networks have evolved their interaction | As such, applications and networks have evolved their interaction | |||
| without comprehensive design for how this interaction should happen | without comprehensive design for how this interaction should happen | |||
| or which information would be desired for a certain function. This | or which information would be desired for a certain function. This | |||
| has lead to a situation where sometimes information is used that | has lead to a situation where sometimes information is used that | |||
| maybe incomplete or incorrect or often indirectly only derives the | maybe incomplete, incorrect, or only indirectly representative of the | |||
| information that was actually desired. Further, dependencies on | information that was actually desired. In addition, dependencies on | |||
| information and mechanisms that were designed for a different | information and mechanisms that were designed for a different | |||
| function limits the evolvability of the original intends. | function limits the evolvability of the protocols in question. | |||
| This kind of interaction ends up having several negative effects: | The unplanned interaction ends up having several negative effects: | |||
| * Ossifying protocols by introducing unintended parties that may not | * Ossifying protocols by introducing unintended parties that may not | |||
| be updating | be updating | |||
| * Creating systemic incentives against deploying more secure or | * Creating systemic incentives against deploying more secure or | |||
| private versions of protocols | private versions of protocols | |||
| * Basing network behaviour on information that may be incomplete or | * Basing network behaviour on information that may be incomplete or | |||
| incorrect | incorrect | |||
| * Creating a model where network entities expect to be able to use | * Creating a model where network entities expect to be able to use | |||
| rich information about sessions passing through | rich information about sessions passing through | |||
| For instance, features such as DNS resolution or TLS setup have been | For instance, features such as DNS resolution or TLS setup have been | |||
| used beyond their original intent, such as name filtering, MAC | used beyond their original intent, such as in name-based filtering. | |||
| addresses used for access control, captive portal implementations | MAC addresses have been used for access control, captive portal | |||
| that employ taking over cleartext HTTP sessions, and so on. | implementations that employ taking over cleartext HTTP sessions, and | |||
| so on. | ||||
| Increased deployment of encryption can and will change this | Increased deployment of encryption can and will change this | |||
| situation. E.g. QUIC replaces TCP for various application and | situation. For instance, QUIC replaces TCP for various application | |||
| protects all end-to-end signals to only be accessible by the | and protects all end-to-end signals to only be accessible by the | |||
| endpoint, ensuring evolvability [RFC9000]. QUIC does expose | endpoint, ensuring evolvability [RFC9000]. QUIC does expose | |||
| information dedicated for on-path elements to consume by design | information dedicated for on-path elements to consume by design | |||
| explicit signal for specific use cases, such as the Spin bit for | explicit signal for specific use cases, such as the Spin bit for | |||
| latency measurements or connection ID that can be used by load | latency measurements or connection ID that can be used by load | |||
| balancers [I-D.ietf-quic-manageability] but information is limited to | balancers [I-D.ietf-quic-manageability] but information is limited to | |||
| only those use cases. Each new use cases requires additional action. | only those use cases. Each new use cases requires additional action. | |||
| Such explicit signals that are specifically designed for the use of | Explicit signals that are specifically designed for the use of on- | |||
| on-path function, while all other information is appropriately | path function leave all other information is appropriately protected. | |||
| protected, enables an architecturally clean approach with the aims to | This enables an architecturally clean approach and evolvability, | |||
| use and manage the existing network infrastructure most efficiently | while allowing an information exchage that is important for improving | |||
| as well as improve the quality of experience for those this | the quality of experience for users and efficient management of the | |||
| technology is build for - the user. | network infrastructure built for them. | |||
| This draft discusses different approaches for explicit collaboration | This draft discusses different approaches for explicit collaboration | |||
| and provides guidance on architectural principles to design new | and provides guidance on architectural principles to design new | |||
| mechanisms. Section 2 discusses past guidance, Section 3 principles | mechanisms. Section 2 discusses past guidance. Section 3 discusses | |||
| that good design can follow, along with some examples as well | principles that good design can follow. This section also provides | |||
| explanation of situations that not following these principles can | some examples and explanation of situations that not following the | |||
| lead to. Section 4 points to topics that need more to be looked at | principles can lead to. Section 4 points to topics that need more to | |||
| more carefully before any guidance can be given. | be looked at more carefully before any guidance can be given. | |||
| 2. Past Guidance | 2. 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 designs attempting to establish | fully internalised for various designs attempting to establish | |||
| collaboration between applications and path elements. The principle | collaboration between applications and path elements. The principle | |||
| is that both receiver and sender of information must acquire tangible | is that both receiver and sender of information must acquire tangible | |||
| and immediate benefits from the communication, such as improved | and immediate benefits from the communication, such as improved | |||
| performance. | performance. | |||
| A related issue is understanding whether a business model or | A related issue is understanding whether a business model or | |||
| ecosystem change is needed. Some designs may work well without any | ecosystem change is needed. For instance, relative prioritization | |||
| monetary or payment or cross-administrative domains agreements. For | between different flows of a user or an application does not require | |||
| instance, I could ask my packets to be prioritised relative to each | agreements or payments. But requesting prioritization over other | |||
| other and that shouldn't affect anything else. Some other designs | people's traffic may imply that you have to pay for that which may | |||
| may require a matching business ecosystem change to support what is | not be easy even for a single provider let alone across many. | |||
| 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. | ||||
| But on to more technical aspects. | But on to more technical aspects. | |||
| The main guidance in [RFC8558] is to be aware that implicit signals | The main guidance in [RFC8558] is to be aware that implicit signals | |||
| will be used whether intended or not. Protocol designers should | will be used whether intended or not. Protocol designers should | |||
| consider either hiding these signals when the information should not | consider either hiding these signals when the information should not | |||
| be visible, or using explicit signals when it should be. | be visible, or using explicit signals when it should be. | |||
| [I-D.irtf-panrg-what-not-to-do] discusses many past failure cases, a | [RFC9049] discusses many past failure cases, a catalogue of past | |||
| catalogue of past issues to avoid. It also provides relevant | issues to avoid. It also provides relevant guidelines for new work, | |||
| guidelines for new work, from discussion of incentives to more | from discussion of incentives to more specific observations, such as | |||
| specific observations, such as the need for outperforming end-to-end | the need for outperforming end-to-end mechanisms (Section 4.4), | |||
| mechanisms (Section 4.4), considering the need for per-connection | considering the need for per-connection state (Section 4.6), taking | |||
| state (Section 4.6), taking into account the latency involved in | into account the latency involved in reacting to distant signals, and | |||
| reacting to distant signals, and so on. | so on. | |||
| 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 | discusses protocol successes and failures, and provides general | |||
| advice on incremental deployability etc. Internet Technology | advice on incremental deployability etc. Internet Technology | |||
| Adoption and Transition (ITAT) workshop report [RFC7305] is also | Adoption and Transition (ITAT) workshop report [RFC7305] is also | |||
| recommended reading on this same general topic. And [RFC6709] | recommended reading on this same general topic. And [RFC6709] | |||
| discusses protocol extensibility, and provides general advice on the | discusses protocol extensibility, and provides general advice on the | |||
| importance of global interoperability and so on. | importance of global interoperability and so on. | |||
| 3. Principles | 3. Principles | |||
| This section attempts to provide some architecture-level principles | This section attempts to provide some architecture-level principles | |||
| that would help future designers and recommend useful models to | that would help future designers and recommend useful models to | |||
| apply. | apply. | |||
| A large number of our protocol mechanisms today fall into one of two | A large number of our protocol mechanisms today fall into one of two | |||
| categories: authenticated and private communication that is only | categories: authenticated and private communication that is only | |||
| visible by the end-to-end nodes; and unauthenticated public | visible to the end-to-end nodes; and unauthenticated public | |||
| communication that is visible to all nodes on a path. RFC 8558 | communication that is visible to all nodes on a path. RFC 8558 | |||
| explores the line between data that is protected and path signals. | explores the line between data that is protected and path signals. | |||
| There is a danger in taking a position that is too extreme towards | There is a danger in taking a position that is too extreme towards | |||
| either exposing all information to the path, or hiding all | either exposing all information to the path, or hiding all | |||
| information from the path. Exposed information encourages pervasive | information from the path. | |||
| monitoring, which is described in RFC 7258 [RFC7258]. | ||||
| Exposed information encourages pervasive monitoring, which is | ||||
| described in RFC 7258 [RFC7258]. Exposed information may also be | ||||
| used for commercial purposes, or form a basis for filtering that the | ||||
| applications or users do not desire. | ||||
| But a lack of all path signaling, on the other hand, may be harmful | But a lack of all path signaling, on the other hand, may be harmful | |||
| to network management, debugging, or the ability for networks to | to network management, debugging, or the ability for networks to | |||
| provide the most efficient services. There are many cases where | provide the most efficient services. There are many cases where | |||
| elements on the network path can provide beneficial services, but | elements on the network path can provide beneficial services, but | |||
| only if they can coordinate with the endpoints. This tradeoff | only if they can coordinate with the endpoints. It also affects the | |||
| between privacy and network functions has in some cases led to an | ability of service providers and others observe why problems occur | |||
| adversarial stance between privacy and the ability for the network | [RFC9075]. | |||
| path to provide intended functions. It also affects the ability of | ||||
| service providers and others observe why problems occur | ||||
| [I-D.iab-covid19-workshop]. | ||||
| One way to resolve this conflict is to add more explicit trust and | This situation is sometimes cast as an adversarial tradeoff between | |||
| coordination between endpoints and network devices. VPNs are a good | privacy and the ability for the network path to provide intended | |||
| example of a case where there is an explicit authentication and | functions. However, this is perhaps an unnecessarily polarized | |||
| negotiation with a network path element that's used to optimize | characterization as a zero-sum situation. Not all information | |||
| behavior or gain access to specific resources. | passing implies loss of privacy. For instance, performance | |||
| information or preferences do not require disclosing user or | ||||
| application identity or what content is being accessed, network | ||||
| congestion status information does not have reveal network topology | ||||
| or the status of other users, and so on. | ||||
| This points to one way to resolve the adversity: the careful of | ||||
| design of what information is passed. | ||||
| Another approach is to employ explicit trust and coordination between | ||||
| endpoints and network devices. VPNs are a good example of a case | ||||
| where there is an explicit authentication and negotiation with a | ||||
| network path element that's used to optimize behavior or gain access | ||||
| to specific resources. | ||||
| The goal of improving privacy and trust on the Internet does not | The goal of improving privacy and trust on the Internet does not | |||
| necessarily need to remove the ability for network elements to | necessarily need to remove the ability for network elements to | |||
| perform beneficial functions. We should instead improve the way that | perform beneficial functions. We should instead improve the way that | |||
| these functions are achieved. Our goals should be: | these functions are achieved. Our goals should be: | |||
| * To ensure that information is distributed intentionally, not | * To ensure that information is distributed intentionally, not | |||
| accidentally; | accidentally; | |||
| * to understand the privacy and other implications of any | * to understand the privacy and other implications of any | |||
| distributed information; and | distributed information; | |||
| * to ensure that the information distribution targets the intended | ||||
| parties; and | ||||
| * to gate the distribution of information on the consent of the | * to gate the distribution of information on the consent of the | |||
| relevant parties | relevant parties | |||
| These goals for distribution apply equally to senders, receivers, and | These goals for distribution apply equally to senders, receivers, and | |||
| path elements. | path elements. | |||
| We can establish some basic questions that any new network path | We can establish some basic questions that any new network path | |||
| functions should consider: | functions should consider: | |||
| * What is the minimum set of entities that need to be involved? | * What is the minimum set of entities that need to be involved? | |||
| * What is the minimum information each entity in this set needs? | * What is the minimum information each entity in this set needs? | |||
| * Which entities must consent to the information exchange? | * Which entities must consent to the information exchange? | |||
| If we look at many of the ways network path functions are achieved | If we look at many of the ways network path functions are achieved | |||
| today, we find that many if not most of them fall short the standard | today, we find that many if not most of them fall short the standard | |||
| set up by the questions above. Too often, they rely on information | set up by the questions above. Too often, they send unnecessary | |||
| being sent without limiting the scope of distribution or providing | information or fail to limit the scope of distribution or providing | |||
| any negotiation or consent. | any negotiation or consent. | |||
| Going forward, new standards work in the IETF needs to focus on | Going forward, new standards work in the IETF needs to focus on | |||
| addressing this gap by providing better alternatives and mechanisms | addressing this gap by providing better alternatives and mechanisms | |||
| for providing path functions. Note that not all of these functions | for providing path functions. Note that not all of these functions | |||
| can be achieved in a way that preserves a high level of user privacy | can be achieved in a way that preserves a high level of user privacy | |||
| from the network; in such cases, it is incumbent upon us to not | from the network; in such cases, it is incumbent upon us to not | |||
| ignore the use case, but instead to define the high bar for consent | ignore the use case, but instead to define the high bar for consent | |||
| and trust, and thus define a limited applicability for those | and trust, and thus define a limited applicability for those | |||
| functions. | functions. | |||
| skipping to change at page 6, line 46 ¶ | skipping to change at page 7, line 12 ¶ | |||
| This guideline is best expressed in RFC 8558: | This guideline is best expressed in RFC 8558: | |||
| "Fundamentally, this document recommends that implicit signals should | "Fundamentally, this document recommends that implicit signals should | |||
| be avoided and that an implicit signal should be replaced with an | be avoided and that an implicit signal should be replaced with an | |||
| explicit signal only when the signal's originator intends that it be | explicit signal only when the signal's originator intends that it be | |||
| used by the network elements on the path. For many flows, this may | used by the network elements on the path. For many flows, this may | |||
| result in the signal being absent but allows it to be present when | result in the signal being absent but allows it to be present when | |||
| needed." | needed." | |||
| Intentional distribution applies to other informal flow directions as | This guideline applies also in the other direction as well. For | |||
| well. For instance, a network element should not unintentionally | instance, a network element should not unintentionally leak | |||
| leak information that is visible to endpoints. An explicit decision | information that is visible to endpoints. An explicit decision is | |||
| is needed for a specific information to be provided, along with | needed for a specific information to be provided, along with analysis | |||
| analysis of the security and privacy implications of that | of the security and privacy implications of that information. | |||
| information. | ||||
| 3.2. Minimum Set of Entities | 3.2. Minimum Set of Entities | |||
| It is recommended that a design identify the minimum number of | It is recommended that a design identify the minimum number of | |||
| entities needed to share a specific signal required for an identified | entities needed to share a specific signal required for an identified | |||
| function. In some cases this will be a very limited set, e.g. when | function. In some cases this will be a very limited set, e.g. when | |||
| the application needs to provide a signal to a specific gateway | the application needs to provide a signal to a specific gateway | |||
| function. In other cases, such as congestion control, a signal might | function. In other cases, such as congestion control, a signal might | |||
| be shared with every router along the path, since each should be | be shared with every router along the path, since each should be | |||
| aware of the congestion. | aware of the congestion. | |||
| While it is tempting to consider removing these limitations in the | ||||
| context of closed, private networks, each interaction is still best | ||||
| considered separately, rather than simply allowing all information | ||||
| exchanges within the closed network. Even in a closed network with | ||||
| carefully managed components there may be compromised components, as | ||||
| evidenced in the most extreme way by the Stuxnet worm that operated | ||||
| in an airgapped network. Most "closed" networks have at least some | ||||
| needs and means to access the rest of the Internet, and should not be | ||||
| modeled as if they had an impenetrable security barrier. | ||||
| 3.3. Consent of Parties | 3.3. Consent of Parties | |||
| Consent and trust must determine the distribution of information. | Consent and trust must determine the distribution of information. | |||
| The set of entities that need to consent is determined by the scope | The set of entities that need to consent is determined by the scope | |||
| and specificity of the information being shared. | and specificity of the information being shared. | |||
| Three distinct types of consent are recommended for collaboration or | Three distinct types of consent are recommended for collaboration or | |||
| information sharing: | information sharing: | |||
| * A corollary of the intentional distribution is that the sender | * A corollary of the intentional distribution is that the sender | |||
| skipping to change at page 7, line 44 ¶ | skipping to change at page 8, line 18 ¶ | |||
| willigness or a need to do so. This happens naturally in most | willigness or a need to do so. This happens naturally in most | |||
| protocol designs, but has been a problem for some cases where | protocol designs, but has been a problem for some cases where | |||
| "slow path" packet processing is required or implied, and the | "slow path" packet processing is required or implied, and the | |||
| recipient or router did not have willingness for this. | recipient or router did not have willingness for this. | |||
| * Internet communications are not made for the applications, they | * Internet communications are not made for the applications, they | |||
| are ultimately made on behalf of users. Information relating to | are ultimately made on behalf of users. Information relating to | |||
| the users is something that both networks and applications should | the users is something that both networks and applications should | |||
| be careful with, and not be shared without the user's consent. | be careful with, and not be shared without the user's consent. | |||
| This is not always easy, as the interests of the user and (for | This is not always easy, as the interests of the user and (for | |||
| instance) application developer may not always be inline; some | instance) application developer may not always coincide; some | |||
| applications may wish to collect more information about the user | applications may wish to collect more information about the user | |||
| than the user would like. | than the user would like. | |||
| As a result, typically an application's consent is not the same as | ||||
| the user's consent. | ||||
| 3.4. Minimum Information | 3.4. Minimum Information | |||
| Parties should provide only the information that is needed for the | Parties should provide only the information that is needed for the | |||
| other party to perform the collaboration task that is desired by this | other party to perform the collaboration task that is desired by this | |||
| party, and not more. This applies to information sent by an | party, and not more. This applies to information sent by an | |||
| application about itself, information sent about users, or | application about itself, information sent about users, or | |||
| information sent by the network. | 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 | |||
| skipping to change at page 9, line 5 ¶ | skipping to change at page 9, line 22 ¶ | |||
| applications can use to determine, for instance, optimal strategies | applications can use to determine, for instance, optimal strategies | |||
| for changing codecs. However, information given by the network about | for changing codecs. However, information given by the network about | |||
| load conditions and so on should not form a mechanism to provide a | load conditions and so on should not form a mechanism to provide a | |||
| side-channel into what other users are doing. | side-channel into what other users are doing. | |||
| While information needs to be specific and provided on a per-need | While information needs to be specific and provided on a per-need | |||
| basis, it is often beneficial to provide declarative information | basis, it is often beneficial to provide declarative information | |||
| that, for instance, expresses application needs than makes specific | that, for instance, expresses application needs than makes specific | |||
| requests for action. | requests for action. | |||
| 3.5. Protecting Information and Authentication | 3.5. Carrying Information | |||
| There is a distinction between what information is passed and how it | ||||
| is carried. The actually sent information may be limited, while the | ||||
| mechanisms for sending or requesting information can be capable of | ||||
| sending much more. | ||||
| There is a tradeoff here between flexibility and ensuring the | ||||
| minimality of information in the future. The concern is that a fully | ||||
| generic data sharing approach between different layers and parties | ||||
| could potentially be misused, e.g., by making the availability of | ||||
| some information a requirement for passing through a network. | ||||
| This is undesirable, and our recommendation is to employ very | ||||
| targeted, minimal information carriage mechanisms. | ||||
| 3.6. Protecting Information and Authentication | ||||
| Some simple forms of information often exist in cleartext form, e.g, | Some simple forms of information often exist in cleartext form, e.g, | |||
| ECN bits from routers are generally not authenticated or integrity | ECN bits from routers are generally not authenticated or integrity | |||
| protected. This is possible when the information exchanges are | protected. This is possible when the information exchanges are | |||
| advisory in their nature, and do not carry any significantly | advisory in their nature, and do not carry any significantly | |||
| sensitive information from the parties. | sensitive information from the parties. | |||
| In other cases it may be necessary to establish a secure channel for | In other cases it may be necessary to establish a secure channel for | |||
| communication with a specific other party, e.g., between a network | communication with a specific other party, e.g., between a network | |||
| element and an application. This channel may need to be | element and an application. This channel may need to be | |||
| skipping to change at page 10, line 11 ¶ | skipping to change at page 10, line 45 ¶ | |||
| Some of the most difficult areas are listed below. Research on these | Some of the most difficult areas are listed below. Research on these | |||
| topics would be welcome. | topics would be welcome. | |||
| * Business arrangements. Many designs - for instance those related | * Business arrangements. Many designs - for instance those related | |||
| to quality-of-service - involve an expectation of paying for a | to quality-of-service - involve an expectation of paying for a | |||
| service. This is possible and has been successful within | service. This is possible and has been successful within | |||
| individual domains, e.g., users can pay for higher data rates or | individual domains, e.g., users can pay for higher data rates or | |||
| data caps in their ISP networks. However, it is a business-wise | data caps in their ISP networks. However, it is a business-wise | |||
| much harder proposition for end-to-end connections across multiple | much harder proposition for end-to-end connections across multiple | |||
| administrative domains [Claffy2015] | administrative domains [Claffy2015] [RFC9049]. | |||
| [I-D.irtf-panrg-what-not-to-do]. | ||||
| * Secure communications with path elements. This has been a | * Secure communications with path elements. This has been a | |||
| difficult topic, both from the mechanics and scalability point | difficult topic, both from the mechanics and scalability point | |||
| view, but also because there is no easy way to find out which | view, but also because there is no easy way to find out which | |||
| parties to trust or what trust roots would be appropriate. Some | parties to trust or what trust roots would be appropriate. Some | |||
| application-network element interaction designs have focused on | application-network element interaction designs have focused on | |||
| information (such as ECN bits) that is distributed openly within a | information (such as ECN bits) that is distributed openly within a | |||
| path, but there are limited examples of designs with secure | path, but there are limited examples of designs with secure | |||
| information exchange with specific nodes. | information exchange with specific nodes. | |||
| skipping to change at page 11, line 13 ¶ | skipping to change at page 11, line 38 ¶ | |||
| successful or deployed mechanisms today. | successful or deployed mechanisms today. | |||
| 5. Acknowledgments | 5. Acknowledgments | |||
| The authors would like to thank everyone at the IETF, the IAB, and | The authors would like to thank everyone at the IETF, the IAB, and | |||
| our day jobs for interesting thoughts and proposals in this space. | our day jobs for interesting thoughts and proposals in this space. | |||
| Fragments of this document were also in | Fragments of this document were also in | |||
| [I-D.per-app-networking-considerations] and | [I-D.per-app-networking-considerations] and | |||
| [I-D.arkko-path-signals-information] that were published earlier. We | [I-D.arkko-path-signals-information] that were published earlier. We | |||
| would also like to acknowledge [I-D.trammell-stackevo-explicit-coop] | would also like to acknowledge [I-D.trammell-stackevo-explicit-coop] | |||
| for presenting similar thoughts. | for presenting similar thoughts. Finally, the authors would like to | |||
| thank Adrian Farrell, Toerless Eckert, and Jeffrey Haas for useful | ||||
| feedback in the IABOPEN session at IETF-111. | ||||
| 6. Informative References | 6. Informative References | |||
| [Claffy2015] | [Claffy2015] | |||
| kc Claffy, . and D. Clark, "Adding Enhanced Services to | kc Claffy, . and D. Clark, "Adding Enhanced Services to | |||
| the Internet: Lessons from History", TPRC 43: The 43rd | the Internet: Lessons from History", TPRC 43: The 43rd | |||
| Research Conference on Communication, Information and | Research Conference on Communication, Information and | |||
| Internet Policy Paper , April 2015. | Internet Policy Paper , April 2015. | |||
| [I-D.arkko-dns-confidential] | [I-D.arkko-dns-confidential] | |||
| skipping to change at page 11, line 46 ¶ | skipping to change at page 12, line 25 ¶ | |||
| [I-D.flinck-mobile-throughput-guidance] | [I-D.flinck-mobile-throughput-guidance] | |||
| Jain, A., Terzis, A., Flinck, H., Sprecher, N., | Jain, A., Terzis, A., Flinck, H., Sprecher, N., | |||
| Arunachalam, S., Smith, K., Devarapalli, V., and R. B. | Arunachalam, S., Smith, K., Devarapalli, V., and R. B. | |||
| Yanai, "Mobile Throughput Guidance Inband Signaling | Yanai, "Mobile Throughput Guidance Inband Signaling | |||
| Protocol", Work in Progress, Internet-Draft, draft-flinck- | Protocol", Work in Progress, Internet-Draft, draft-flinck- | |||
| mobile-throughput-guidance-04, 13 March 2017, | mobile-throughput-guidance-04, 13 March 2017, | |||
| <https://www.ietf.org/archive/id/draft-flinck-mobile- | <https://www.ietf.org/archive/id/draft-flinck-mobile- | |||
| throughput-guidance-04.txt>. | throughput-guidance-04.txt>. | |||
| [I-D.iab-covid19-workshop] | ||||
| Arkko, J., Farrell, S., Kühlewind, M., and C. Perkins, | ||||
| "Report from the IAB COVID-19 Network Impacts Workshop | ||||
| 2020", Work in Progress, Internet-Draft, draft-iab- | ||||
| covid19-workshop-03, 5 May 2021, | ||||
| <https://www.ietf.org/archive/id/draft-iab-covid19- | ||||
| workshop-03.txt>. | ||||
| [I-D.ietf-quic-manageability] | [I-D.ietf-quic-manageability] | |||
| Kuehlewind, M. and B. Trammell, "Manageability of the QUIC | Kuehlewind, M. and B. Trammell, "Manageability of the QUIC | |||
| Transport Protocol", Work in Progress, Internet-Draft, | Transport Protocol", Work in Progress, Internet-Draft, | |||
| draft-ietf-quic-manageability-12, 30 June 2021, | draft-ietf-quic-manageability-13, 2 September 2021, | |||
| <https://www.ietf.org/archive/id/draft-ietf-quic- | <https://www.ietf.org/archive/id/draft-ietf-quic- | |||
| manageability-12.txt>. | manageability-13.txt>. | |||
| [I-D.irtf-panrg-what-not-to-do] | ||||
| Dawkins, S., "Path Aware Networking: Obstacles to | ||||
| Deployment (A Bestiary of Roads Not Taken)", Work in | ||||
| Progress, Internet-Draft, draft-irtf-panrg-what-not-to-do- | ||||
| 19, 26 March 2021, <https://www.ietf.org/archive/id/draft- | ||||
| irtf-panrg-what-not-to-do-19.txt>. | ||||
| [I-D.per-app-networking-considerations] | [I-D.per-app-networking-considerations] | |||
| Colitti, L. and T. Pauly, "Per-Application Networking | Colitti, L. and T. Pauly, "Per-Application Networking | |||
| Considerations", Work in Progress, Internet-Draft, draft- | Considerations", Work in Progress, Internet-Draft, draft- | |||
| per-app-networking-considerations-00, 15 November 2020, | per-app-networking-considerations-00, 15 November 2020, | |||
| <https://www.ietf.org/archive/id/draft-per-app-networking- | <https://www.ietf.org/archive/id/draft-per-app-networking- | |||
| considerations-00.txt>. | considerations-00.txt>. | |||
| [I-D.thomson-http-oblivious] | [I-D.thomson-http-oblivious] | |||
| Thomson, M. and C. A. Wood, "Oblivious HTTP", Work in | Thomson, M. and C. A. Wood, "Oblivious HTTP", Work in | |||
| Progress, Internet-Draft, draft-thomson-http-oblivious-01, | Progress, Internet-Draft, draft-thomson-http-oblivious-02, | |||
| 21 February 2021, <https://www.ietf.org/archive/id/draft- | 24 August 2021, <https://www.ietf.org/archive/id/draft- | |||
| thomson-http-oblivious-01.txt>. | thomson-http-oblivious-02.txt>. | |||
| [I-D.trammell-stackevo-explicit-coop] | [I-D.trammell-stackevo-explicit-coop] | |||
| Trammell, B., "Architectural Considerations for Transport | Trammell, B., "Architectural Considerations for Transport | |||
| Evolution with Explicit Path Cooperation", Work in | Evolution with Explicit Path Cooperation", Work in | |||
| Progress, Internet-Draft, draft-trammell-stackevo- | Progress, Internet-Draft, draft-trammell-stackevo- | |||
| explicit-coop-00, 23 September 2015, | explicit-coop-00, 23 September 2015, | |||
| <https://www.ietf.org/archive/id/draft-trammell-stackevo- | <https://www.ietf.org/archive/id/draft-trammell-stackevo- | |||
| explicit-coop-00.txt>. | explicit-coop-00.txt>. | |||
| [Oblivious] | [Oblivious] | |||
| skipping to change at page 13, line 34 ¶ | skipping to change at page 13, line 47 ¶ | |||
| [RFC8558] Hardie, T., Ed., "Transport Protocol Path Signals", | [RFC8558] Hardie, T., Ed., "Transport Protocol Path Signals", | |||
| RFC 8558, DOI 10.17487/RFC8558, April 2019, | RFC 8558, DOI 10.17487/RFC8558, April 2019, | |||
| <https://www.rfc-editor.org/info/rfc8558>. | <https://www.rfc-editor.org/info/rfc8558>. | |||
| [RFC9000] Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based | [RFC9000] Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based | |||
| Multiplexed and Secure Transport", RFC 9000, | Multiplexed and Secure Transport", RFC 9000, | |||
| DOI 10.17487/RFC9000, May 2021, | DOI 10.17487/RFC9000, May 2021, | |||
| <https://www.rfc-editor.org/info/rfc9000>. | <https://www.rfc-editor.org/info/rfc9000>. | |||
| [RFC9049] Dawkins, S., Ed., "Path Aware Networking: Obstacles to | ||||
| Deployment (A Bestiary of Roads Not Taken)", RFC 9049, | ||||
| DOI 10.17487/RFC9049, June 2021, | ||||
| <https://www.rfc-editor.org/info/rfc9049>. | ||||
| [RFC9075] Arkko, J., Farrell, S., Kühlewind, M., and C. Perkins, | ||||
| "Report from the IAB COVID-19 Network Impacts Workshop | ||||
| 2020", RFC 9075, DOI 10.17487/RFC9075, July 2021, | ||||
| <https://www.rfc-editor.org/info/rfc9075>. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Jari Arkko | Jari Arkko | |||
| Ericsson | Ericsson | |||
| Email: jari.arkko@ericsson.com | Email: jari.arkko@ericsson.com | |||
| Ted Hardie | Ted Hardie | |||
| Cisco | Cisco | |||
| End of changes. 35 change blocks. | ||||
| 101 lines changed or deleted | 140 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||