draft-ietf-tsvwg-transport-encrypt-00.txt   draft-ietf-tsvwg-transport-encrypt-01.txt 
TSVWG G. Fairhurst TSVWG G. Fairhurst
Internet-Draft University of Aberdeen Internet-Draft University of Aberdeen
Intended status: Informational C. Perkins Intended status: Informational C. Perkins
Expires: March 31, 2019 University of Glasgow Expires: April 25, 2019 University of Glasgow
September 27, 2018 October 22, 2018
The Impact of Transport Header Confidentiality on Network Operation and The Impact of Transport Header Confidentiality on Network Operation and
Evolution of the Internet Evolution of the Internet
draft-ietf-tsvwg-transport-encrypt-00 draft-ietf-tsvwg-transport-encrypt-01
Abstract Abstract
This document describes implications of applying end-to-end This document describes implications of applying end-to-end
encryption at the transport layer. It identifies in-network uses of encryption at the transport layer. It identifies in-network uses of
transport layer header information. It then reviews the implications transport layer header information. It then reviews the implications
of developing end-to-end transport protocols that use authentication of developing end-to-end transport protocols that use authentication
to protect the integrity of transport information or encryption to to protect the integrity of transport information or encryption to
provide confidentiality of the transport protocol header and expected provide confidentiality of the transport protocol header and expected
implications of transport protocol design and network operation. implications of transport protocol design and network operation.
skipping to change at page 1, line 42 skipping to change at page 1, line 42
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 March 31, 2019. This Internet-Draft will expire on April 25, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2018 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 Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 25 skipping to change at page 2, line 25
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Context and Rationale . . . . . . . . . . . . . . . . . . . . 3 2. Context and Rationale . . . . . . . . . . . . . . . . . . . . 3
3. Current uses of Transport Headers within the Network . . . . 9 3. Current uses of Transport Headers within the Network . . . . 9
3.1. Observing Transport Information in the Network . . . . . 9 3.1. Observing Transport Information in the Network . . . . . 9
3.2. Transport Measurement . . . . . . . . . . . . . . . . . . 15 3.2. Transport Measurement . . . . . . . . . . . . . . . . . . 15
3.3. Use for Network Diagnostics and Troubleshooting . . . . . 18 3.3. Use for Network Diagnostics and Troubleshooting . . . . . 18
3.4. Observing Headers to Implement Network Policy . . . . . . 19 3.4. Observing Headers to Implement Network Policy . . . . . . 19
4. Encryption and Authentication of Transport Headers . . . . . 19 4. Encryption and Authentication of Transport Headers . . . . . 19
4.1. Authenticating the Transport Protocol Header . . . . . . 21
4.2. Encrypting the Transport Payload . . . . . . . . . . . . 22
4.3. Encrypting the Transport Header . . . . . . . . . . . . . 22
4.4. Authenticating Transport Information and Selectively
Encrypting the Transport Header . . . . . . . . . . . . . 22
4.5. Optional Encryption of Header Information . . . . . . . . 23
5. Addition of Transport Information to Network-Layer Protocol 5. Addition of Transport Information to Network-Layer Protocol
Headers . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Headers . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6. Implications of Protecting the Transport Headers . . . . . . 24 6. Implications of Protecting the Transport Headers . . . . . . 24
6.1. Independent Measurement . . . . . . . . . . . . . . . . . 24 6.1. Independent Measurement . . . . . . . . . . . . . . . . . 24
6.2. Characterising "Unknown" Network Traffic . . . . . . . . 25 6.2. Characterising "Unknown" Network Traffic . . . . . . . . 25
6.3. Accountability and Internet Transport Protocols . . . . . 25 6.3. Accountability and Internet Transport Protocols . . . . . 25
6.4. Impact on Research, Development and Deployment . . . . . 26 6.4. Impact on Research, Development and Deployment . . . . . 26
7. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 27 7. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 27
8. Security Considerations . . . . . . . . . . . . . . . . . . . 29 8. Security Considerations . . . . . . . . . . . . . . . . . . . 29
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 31 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 31
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 31 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 31
11. Informative References . . . . . . . . . . . . . . . . . . . 31 11. Informative References . . . . . . . . . . . . . . . . . . . 31
Appendix A. Revision information . . . . . . . . . . . . . . . . 37 Appendix A. Revision information . . . . . . . . . . . . . . . . 37
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 37 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 37
1. Introduction 1. Introduction
This document describes implications of applying end-to-end We are seeing increased interest in, and deployment of, new protocols
that employ end-to-end encryption at the transport layer, including
the transport layer headers. An example of such a transport is the
QUIC transport protocol [I-D.ietf-quic-transport], currently being
standardised in the IETF. Encryption of transport layer headers and
payload data has many benefits in terms of protecting user privacy.
These benefits have been widely discussed, and we strongly support
them. There are also, however, some costs, in that the wide use of
transport encryption requires changes to network operations, and
complicates network measurement for research, operational, and
standardisation purposes.
This document discusses some consequences of applying end-to-end
encryption at the transport layer. It reviews the implications of encryption at the transport layer. It reviews the implications of
developing end-to-end transport protocols that use encryption to developing end-to-end transport protocols that use encryption to
provide confidentiality of the transport protocol header and expected provide confidentiality of the transport protocol header, and
implications of transport protocol design and network operation. It consider the effect of such changes on transport protocol design and
also considers anticipated implications on transport and application network operation. It also considers anticipated implications on
evolution. transport and application evolution.
2. Context and Rationale 2. Context and Rationale
The transport layer provides end-to-end interactions between The transport layer provides end-to-end interactions between
endpoints (processes) using an Internet path. Transport protocols endpoints (processes) using an Internet path. Transport protocols
layer directly over the network-layer service and are sent in the layer directly over the network-layer service and are sent in the
payload of network-layer packets. They support end-to-end payload of network-layer packets. They support end-to-end
communication between applications, supported by higher-layer communication between applications, supported by higher-layer
protocols, running on the end systems (or transport endpoints). This protocols, running on the end systems (or transport endpoints). This
simple architectural view hides one of the core functions of the simple architectural view hides one of the core functions of the
skipping to change at page 3, line 44 skipping to change at page 3, line 50
There are many motivations for deploying encrypted transports There are many motivations for deploying encrypted transports
[RFC7624] (i.e., transport protocols that use encryption to provide [RFC7624] (i.e., transport protocols that use encryption to provide
confidentiality of some or all of the transport-layer header confidentiality of some or all of the transport-layer header
information), and encryption of transport payloads (i.e. information), and encryption of transport payloads (i.e.
confidentiality of the payload data). The increasing public concerns confidentiality of the payload data). The increasing public concerns
about the interference with Internet traffic have led to a rapidly about the interference with Internet traffic have led to a rapidly
expanding deployment of encryption to protect end-user privacy, in expanding deployment of encryption to protect end-user privacy, in
protocols like QUIC [I-D.ietf-quic-transport], but also expected to protocols like QUIC [I-D.ietf-quic-transport], but also expected to
form a basis of future protocol designs. form a basis of future protocol designs.
Some network operators and access providers, have come to rely on the Some network operators and access providers have come to rely on the
in-network measurement of transport properties and the functionality in-network measurement of transport properties and the functionality
provided by middleboxes to both support network operations and provided by middleboxes to both support network operations and
enhance performance. There can therefore be implications when enhance performance. There can therefore be implications when
working with encrypted transport protocols that hide transport header working with encrypted transport protocols that hide transport header
information from the network. These present architectural challenges information from the network. These present architectural challenges
and considerations in the way transport protocols are designed, and and considerations in the way transport protocols are designed, and
ability to characterise and compare different transport solutions ability to characterise and compare different transport solutions
[Measure]. Implementations of network devices are encouraged to
[Measure], Section 3.2. Implementations of network devices are avoid side-effects when protocols are updated. Introducing
encouraged to avoid side-effects when protocols are updated. cryptographic integrity checks to header fields can also prevent
Introducing cryptographic integrity checks to header fields can also undetected manipulation of the field by network devices, or
prevent undetected manipulation of the field by network devices, or
undetected addition of information to a packet. However, this does undetected addition of information to a packet. However, this does
not prevent inspection of the information by a device on path, and it not prevent inspection of the information by a device on path, and it
is possible that such devices could develop mechanisms that rely on is possible that such devices could develop mechanisms that rely on
the presence of such a field, or a known value in the field. the presence of such a field, or a known value in the field.
Reliance on the presence and semantics of specific header information Reliance on the presence and semantics of specific header information
leads to ossification: An endpoint could be required to supply a leads to ossification. An endpoint could be required to supply a
specific header to receive the network service that it desires. In specific header to receive the network service that it desires. In
some cases, this could be benign or advantageous to the protocol some cases, this could be benign or advantageous to the protocol
(e.g., recognising the start of a connection, or explicitly exposing (e.g., recognising the start of a connection, or explicitly exposing
protocol information can be expected to provide more consistent protocol information can be expected to provide more consistent
decisions by on-path devices than the use of diverse methods to infer decisions by on-path devices than the use of diverse methods to infer
semantics from other flow properties). In some cases, this is not semantics from other flow properties); in other cases this is not
beneficial (e.g., a mechanism implemented in a network device, such beneficial (e.g., a mechanism implemented in a network device, such
as a firewall, that required a header field to have only a specific as a firewall, that required a header field to have only a specific
known set of values could prevent the device from forwarding packets known set of values could prevent the device from forwarding packets
using a different version of a protocol that introduces a new feature using a different version of a protocol that introduces a new feature
that changes the value present in this field, preventing evolution of that changes the value present in this field, preventing evolution of
the protocol). the protocol).
Examples of the impact of ossification on transport protocol design Examples of the impact of ossification on transport protocol design
and ease of deployment can be seen in the case of Multipath TCP and ease of deployment can be seen in the case of Multipath TCP
(MPTCP) and the TCP Fast Open option. The design of MPTCP had to be (MPTCP) and the TCP Fast Open option. The design of MPTCP had to be
skipping to change at page 5, line 4 skipping to change at page 5, line 9
examples have included middleboxes that rewrite TCP sequence and examples have included middleboxes that rewrite TCP sequence and
acknowledgement numbers but are unaware of the (newer) SACK option acknowledgement numbers but are unaware of the (newer) SACK option
and don't correctly rewrite selective acknowledgements to match the and don't correctly rewrite selective acknowledgements to match the
changes made to the fixed TCP header; or devices that inspect, and changes made to the fixed TCP header; or devices that inspect, and
change, TCP MSS options that can interfere with path MTU discovery. change, TCP MSS options that can interfere with path MTU discovery.
A protocol design that uses header encryption can provide A protocol design that uses header encryption can provide
confidentiality of some or all of the protocol header information. confidentiality of some or all of the protocol header information.
This prevents an on-path device from knowledge of the header field. This prevents an on-path device from knowledge of the header field.
It therefore prevents mechanisms being built that directly rely on It therefore prevents mechanisms being built that directly rely on
the information or seeks to imply semantics of an exposed header the information or seek to imply semantics of an exposed header
field. Using encryption to provide confidentiality of the transport field. Using encryption to provide confidentiality of the transport
layer brings some well-known privacy and security benefits and can layer brings some well-known privacy and security benefits and can
therefore help reduce ossification of the transport layer. In therefore help reduce ossification of the transport layer. In
particular, it is important that protocols either do not expose particular, it is important that protocols either do not expose
information where the usage may change in future protocols, or that information where the usage may change in future protocols, or that
methods that utilise the information are robust to potential changes methods that utilise the information are robust to potential changes
as protocols evolve over time. To avoid unwanted inspection, a as protocols evolve over time. To avoid unwanted inspection, a
protocol could also intentionally vary the format and value of header protocol could also intentionally vary the format and value of header
fields (sometimes known as Greasing [I-D.thomson-quic-grease]). fields (sometimes known as Greasing [I-D.thomson-quic-grease]).
However, while encryption hides the protocol header information, it However, while encryption hides the protocol header information, it
skipping to change at page 5, line 47 skipping to change at page 5, line 52
The data can also inform Internet engineering research, and help The data can also inform Internet engineering research, and help
in the development of new protocols, methodologies, and in the development of new protocols, methodologies, and
procedures. Concealing the transport protocol header information procedures. Concealing the transport protocol header information
makes the stream performance unavailable to passive observers makes the stream performance unavailable to passive observers
along the path, and likely leads to the development of alternative along the path, and likely leads to the development of alternative
methods to collect or infer that data. methods to collect or infer that data.
Providing confidentiality of the transport payload, but leaving Providing confidentiality of the transport payload, but leaving
some, or all, of the transport headers unencrypted, possibly with some, or all, of the transport headers unencrypted, possibly with
authentication, can provide the majority of the privacy and authentication, can provide the majority of the privacy and
security benefits while allowing some measurement. security benefits while supporting operations and research.
Protection from Denial of Service: Observable transport headers Protection from Denial of Service: Observable transport headers
currently provide useful input to classify traffic and detect currently provide useful input to classify traffic and detect
anomalous events (e.g., changes in application behaviour, anomalous events (e.g., changes in application behaviour,
distributed denial of service attacks). To be effective, this distributed denial of service attacks). To be effective, this
protection needs to be able to uniquely disambiguate unwanted protection needs to be able to uniquely disambiguate unwanted
traffic. An inability to separate this traffic using packet traffic. An inability to separate this traffic using packet
header information may result in less-efficient identification of header information may result in less-efficient identification of
unwanted traffic or development of different methods (e.g. rate- unwanted traffic or development of different methods (e.g. rate-
limiting of uncharacterised traffic). limiting of uncharacterised traffic).
skipping to change at page 9, line 37 skipping to change at page 9, line 39
concerning IP address sharing are described in [RFC6269]. concerning IP address sharing are described in [RFC6269].
3.1. Observing Transport Information in the Network 3.1. Observing Transport Information in the Network
If in-network observation of transport protocol headers is needed, If in-network observation of transport protocol headers is needed,
this requires knowledge of the format of the transport header: this requires knowledge of the format of the transport header:
o Flows need to be identified at the level required to perform the o Flows need to be identified at the level required to perform the
observation; observation;
o The protocol and version of the header need to be visible. As o The protocol and version of the header need to be visible, e.g.,
by defining the wire image [I-D.trammell-wire-image]. As
protocols evolve over time and there may be a need to introduce protocols evolve over time and there may be a need to introduce
new transport headers. This may require interpretation of new transport headers. This could require interpretation of
protocol version information or connection setup information; protocol version information or connection setup information;
o The location and syntax of any observed transport headers needs to o The location and syntax of any observed transport headers needs to
be known. IETF transport protocols can specify this information. be known. IETF transport protocols can specify this information.
The following subsections describe various ways that observable The following subsections describe various ways that observable
transport information has been utilised. transport information has been utilised.
3.1.1. Flow Identification 3.1.1. Flow Identification
skipping to change at page 11, line 38 skipping to change at page 11, line 38
important to understand the pattern of loss, than the loss rate, important to understand the pattern of loss, than the loss rate,
because losses can often occur as bursts, rather than randomly- because losses can often occur as bursts, rather than randomly-
timed events. timed events.
Throughput and Goodput: The throughput achieved by a flow can be Throughput and Goodput: The throughput achieved by a flow can be
determined even when a flow is encrypted, providing the individual determined even when a flow is encrypted, providing the individual
flow can be identified. Goodput [RFC7928] is a measure of useful flow can be identified. Goodput [RFC7928] is a measure of useful
data exchanged (the ratio of useful/total volume of traffic sent data exchanged (the ratio of useful/total volume of traffic sent
by a flow). This requires ability to differentiate loss and by a flow). This requires ability to differentiate loss and
retransmission of packets (e.g., by observing packet sequence retransmission of packets (e.g., by observing packet sequence
numbers in the TCP or the Real Time Protocol, RTP, headers numbers in the TCP or the Real-time Transport Protocol, RTP,
[RFC3550]). headers [RFC3550]).
Latency: Latency is a key performance metric that impacts Latency: Latency is a key performance metric that impacts
application response time and user-perceived response time. It application response time and user-perceived response time. It
often indirectly impacts throughput and flow completion time. often indirectly impacts throughput and flow completion time.
Latency determines the reaction time of the transport protocol Latency determines the reaction time of the transport protocol
itself, impacting flow setup, congestion control, loss recovery, itself, impacting flow setup, congestion control, loss recovery,
and other transport mechanisms. The observed latency can have and other transport mechanisms. The observed latency can have
many components [Latency]. Of these, unnecessary/unwanted queuing many components [Latency]. Of these, unnecessary/unwanted queuing
in network buffers has often been observed as a significant in network buffers has often been observed as a significant
factor. Once the cause of unwanted latency has been identified, factor. Once the cause of unwanted latency has been identified,
skipping to change at page 15, line 41 skipping to change at page 15, line 41
the packet header information of (randomly) selected packets. The the packet header information of (randomly) selected packets. The
utility of these measurements depends on the type of bearer and utility of these measurements depends on the type of bearer and
number of mechanisms used by network devices. Simple routers are number of mechanisms used by network devices. Simple routers are
relatively easy to manage, a device with more complexity demands relatively easy to manage, a device with more complexity demands
understanding of the choice of many system parameters. This level of understanding of the choice of many system parameters. This level of
complexity exists when several network methods are combined. complexity exists when several network methods are combined.
This section discusses topics concerning observation of transport This section discusses topics concerning observation of transport
flows, with a focus on transport measurement. flows, with a focus on transport measurement.
3.2.1. Point of Measurement 3.2.1. Point of Observation
Often measurements can only be understood in the context of the other On-path measurements are particularly useful for locating the source
flows that share a bottleneck. A simple example is monitoring of of problems or to assess the performance of a network segment or a
AQM. For example, FQ-CODEL [RFC8290], combines sub queues particular device configuration. Often issues can only be understood
(statistically assigned per flow), management of the queue length in the context of the other flows that share a particular path,
(CODEL), flow-scheduling, and a starvation prevention mechanism. common network device, interface port, etc. A simple example is
Usually such algorithms are designed to be self-tuning, but current monitoring of a network device that uses a scheduler or active queue
methods typically employ heuristics that can result in more loss management technique [RFC7567], where it may be desirable to
under certain path conditions (e.g., large RTT, effects of multiple understand whether algorithms are correctly controlling latency, or
bottlenecks [RFC7567]). overload protection. This understanding implies knowledge of how
traffic is assigned to any sub-queues used for flow scheduling, but
can also require information about how the traffic dynamics impact
active queue management, starvation prevention mechanisms and
circuit-breakers.
In-network measurements can distinguish between upstream and Sometimes multiple on-path observation points are needed. By
downstream metrics with respect to a measurement point. These are correlating observations of headers at multiple points along the path
particularly useful for locating the source of problems or to assess (e.g., at the ingress and egress of a network segment), an observer
the performance of a network segment or a particular device can determine the contribution of a portion of the path to an
configuration. By correlating observations of headers at multiple observed metric (to locate a source of delay, jitter, loss,
points along the path (e.g., at the ingress and egress of a network reordering, congestion marking, etc.).
segment), an observer can determine the contribution of a portion of
the path to an observed metric (to locate a source of delay, jitter,
loss, reordering, congestion marking, etc.).
3.2.2. Use by Operators to Plan and Provision Networks 3.2.2. Use by Operators to Plan and Provision Networks
Traffic measurements (e.g., traffic volume, loss, latency) is used by Traffic measurements (e.g., traffic volume, loss, latency) is used by
operators to help plan deployment of new equipment and configurations operators to help plan deployment of new equipment and configurations
in their networks. Data is also important to equipment vendors who in their networks. Data is also important to equipment vendors who
need to understand traffic trends and patterns of usage as inputs to need to understand traffic trends and patterns of usage as inputs to
decisions about planning products and provisioning for new decisions about planning products and provisioning for new
deployments. This measurement information can also be correlated deployments. This measurement information can also be correlated
with billing information when this is also collected by an operator. with billing information when this is also collected by an operator.
skipping to change at page 16, line 43 skipping to change at page 16, line 43
3.2.3. Service Performance Measurement 3.2.3. Service Performance Measurement
Traffic measurements (e.g., traffic volume, loss, latency) can be Traffic measurements (e.g., traffic volume, loss, latency) can be
used by various actors to help analyse the performance offered to the used by various actors to help analyse the performance offered to the
users of a network segment, and inform operational practice. users of a network segment, and inform operational practice.
While active measurements may be used in-network, passive While active measurements may be used in-network, passive
measurements can have advantages in terms of eliminating unproductive measurements can have advantages in terms of eliminating unproductive
test traffic, reducing the influence of test traffic on the overall test traffic, reducing the influence of test traffic on the overall
traffic mix, and the ability to choose the point of measurement traffic mix, and the ability to choose the point of observation
Section 3.2.1. However, passive measurements may rely on observing Section 3.2.1. However, passive measurements may rely on observing
transport headers. transport headers.
3.2.4. Measuring Transport to Support Network Operations 3.2.4. Measuring Transport to Support Network Operations
Information provided by tools observing transport headers can help Information provided by tools observing transport headers can help
determine whether mechanisms are needed in the network to prevent determine whether mechanisms are needed in the network to prevent
flows from acquiring excessive network capacity. Operators can flows from acquiring excessive network capacity. Operators can
implement operational practices to manage traffic flows (e.g., to implement operational practices to manage traffic flows (e.g., to
prevent flows from acquiring excessive network capacity under severe prevent flows from acquiring excessive network capacity under severe
congestion) by deploying rate-limiters, traffic shaping or network congestion) by deploying rate-limiters, traffic shaping or network
transport circuit breakers [RFC8084]. transport circuit breakers [RFC8084].
Congestion Control Compliance of Traffic: Congestion control is a Congestion Control Compliance of Traffic: Congestion control is a
key transport function [RFC2914]. Many network operators key transport function [RFC2914]. Many network operators
implicitly accept that TCP traffic to comply with a behaviour that implicitly accept that TCP traffic complies with a behaviour that
is acceptable for use in the shared Internet. TCP algorithms have is acceptable for use in the shared Internet. TCP algorithms have
been continuously improved over decades, and they have reached a been continuously improved over decades, and they have reached a
level of efficiency and correctness that custom application-layer level of efficiency and correctness that custom application-layer
mechanisms will struggle to easily duplicate [RFC8085]. mechanisms will struggle to easily duplicate [RFC8085].
A standards-compliant TCP stack provides congestion control may A standards-compliant TCP stack provides congestion control may
therefore be judged safe for use across the Internet. therefore be judged safe for use across the Internet.
Applications developed on top of well-designed transports can be Applications developed on top of well-designed transports can be
expected to appropriately control their network usage, reacting expected to appropriately control their network usage, reacting
when the network experiences congestion, by back-off and reduce when the network experiences congestion, by back-off and reduce
skipping to change at page 18, line 29 skipping to change at page 18, line 29
performance, capacity planning, management of security threats performance, capacity planning, management of security threats
(including denial of service), and responding to user performance (including denial of service), and responding to user performance
questions. Sections 3.1.2 and 5 of [RFC8404] provide further questions. Sections 3.1.2 and 5 of [RFC8404] provide further
examples. These tasks seldom involve the need to determine the examples. These tasks seldom involve the need to determine the
contents of the transport payload, or other application details. contents of the transport payload, or other application details.
A network operator supporting traffic that uses transport header A network operator supporting traffic that uses transport header
encryption can see only encrypted transport headers. This prevents encryption can see only encrypted transport headers. This prevents
deployment of performance measurement tools that rely on transport deployment of performance measurement tools that rely on transport
protocol information. Choosing to encrypt all the information protocol information. Choosing to encrypt all the information
reduces the operator's ability to observe transport performance, and reduces the ability of an operator to observe transport performance,
may limit the ability of network operators to trace problems, make and may limit the ability of network operators to trace problems,
appropriate QoS decisions, or response to other queries about the make appropriate QoS decisions, or response to other queries about
network service. For some this will be blessing, for others it may the network service. For some this will be blessing, for others it
be a curse. For example, operational performance data about may be a curse. For example, operational performance data about
encrypted flows needs to be determined by traffic pattern analysis, encrypted flows needs to be determined by traffic pattern analysis,
rather than relying on traditional tools. This can impact the rather than relying on traditional tools. This can impact the
ability of the operator to respond to faults, it could require ability of the operator to respond to faults, it could require
reliance on endpoint diagnostic tools or user involvement in reliance on endpoint diagnostic tools or user involvement in
diagnosing and troubleshooting unusual use cases or non-trivial diagnosing and troubleshooting unusual use cases or non-trivial
problems. A key need here is for tools to provide useful information problems. A key need here is for tools to provide useful information
during network anomalies (e.g., significant reordering, high or during network anomalies (e.g., significant reordering, high or
intermittent loss). Although many network operators utilise intermittent loss). Although many network operators utilise
transport information as a part of their operational practice, the transport information as a part of their operational practice, the
network will not break because transport headers are encrypted, and network will not break because transport headers are encrypted, and
skipping to change at page 20, line 8 skipping to change at page 20, line 8
4. Encryption and Authentication of Transport Headers 4. Encryption and Authentication of Transport Headers
End-to-end encryption can be applied at various protocol layers. It End-to-end encryption can be applied at various protocol layers. It
can be applied above the transport to encrypt the transport payload. can be applied above the transport to encrypt the transport payload.
Encryption methods can hide information from an eavesdropper in the Encryption methods can hide information from an eavesdropper in the
network. Encryption can also help protect the privacy of a user, by network. Encryption can also help protect the privacy of a user, by
hiding data relating to user/device identity or location. Neither an hiding data relating to user/device identity or location. Neither an
integrity check nor encryption methods prevent traffic analysis, and integrity check nor encryption methods prevent traffic analysis, and
usage needs to reflect that profiling of users, identification of usage needs to reflect that profiling of users, identification of
location and fingerprinting of behaviour can take place even on location and fingerprinting of behaviour can take place even on
encrypted traffic flows. encrypted traffic flows. Any header information that has a clear
definition in the protocol's message format(s), or is implied by that
definition, and is not cryptographically confidentiality-protected
can be unambiguously interpreted by on-path observers
[I-D.trammell-wire-image].
There are several motivations: There are several motivations:
o One motive to use encryption is a response to perceptions that the o One motive to use encryption is a response to perceptions that the
network has become ossified by over-reliance on middleboxes that network has become ossified by over-reliance on middleboxes that
prevent new protocols and mechanisms from being deployed. This prevent new protocols and mechanisms from being deployed. This
has lead to a perception that there is too much "manipulation" of has lead to a perception that there is too much "manipulation" of
protocol headers within the network, and that designing to deploy protocol headers within the network, and that designing to deploy
in such networks is preventing transport evolution. In the light in such networks is preventing transport evolution. In the light
of this, a method that authenticates transport headers may help of this, a method that authenticates transport headers may help
skipping to change at page 21, line 27 skipping to change at page 21, line 30
understand the dynamics of protocols and traffic patterns. understand the dynamics of protocols and traffic patterns.
Whatever the motives, a decision to use pervasive of transport header Whatever the motives, a decision to use pervasive of transport header
encryption will have implications on the way in which design and encryption will have implications on the way in which design and
evaluation is performed, and which can in turn impact the direction evaluation is performed, and which can in turn impact the direction
of evolution of the TCP/IP stack. While the IETF can specify of evolution of the TCP/IP stack. While the IETF can specify
protocols, the success in actual deployment is often determined by protocols, the success in actual deployment is often determined by
many factors [RFC5218] that are not always clear at the time when many factors [RFC5218] that are not always clear at the time when
protocols are being defined. protocols are being defined.
The next subsections briefly review some security design options for The following briefly reviews some security design options for
transport protocols. A Survey of Transport Security Protocols transport protocols. A Survey of Transport Security Protocols
[I-D.ietf-taps-transport-security] provides more details concerning [I-D.ietf-taps-transport-security] provides more details concerning
commonly used encryption methods at the transport layer. commonly used encryption methods at the transport layer.
4.1. Authenticating the Transport Protocol Header Authenticating the Transport Protocol Header: Transport layer header
information can be authenticated. An integrity check that
Transport layer header information can be authenticated. An protects the immutable transport header fields, but can still
integrity check that protects the immutable transport header fields, expose the transport protocol header information in the clear,
but can still expose the transport protocol header information in the allowing in-network devices to observes these fields. An
clear, allowing in-network devices to observes these fields. An integrity check can not prevent in-network modification, but can
integrity check can not prevent in-network modification, but can avoid a receiving accepting changes and avoid impact on the
avoid a receiving accepting changes and avoid impact on the transport transport protocol operation.
protocol operation.
An example transport authentication mechanism is TCP-Authentication
(TCP-AO) [RFC5925]. This TCP option authenticates the IP pseudo
header, TCP header, and TCP data. TCP-AO protects the transport
layer, preventing attacks from disabling the TCP connection itself
and provides replay protection. TCP-AO may interact with
middleboxes, depending on their behaviour [RFC3234].
The IPsec Authentication Header (AH) [RFC4302] was designed to work
at the network layer and authenticate the IP payload. This approach
authenticates all transport headers, and verifies their integrity at
the receiver, preventing in-network modification.
4.2. Encrypting the Transport Payload
The transport layer payload can be encrypted to protect the content
of transport segments. This leaves transport protocol header
information in the clear. The integrity of immutable transport
header fields could be protected by combining this with an integrity
check (Section 4.1).
Examples of encrypting the payload include Transport Layer Security An example transport authentication mechanism is TCP-
(TLS) over TCP [RFC8446] [RFC7525], Datagram TLS (DTLS) over UDP Authentication (TCP-AO) [RFC5925]. This TCP option authenticates
[RFC6347] [RFC7525], and TCPcrypt [I-D.ietf-tcpinc-tcpcrypt], which the IP pseudo header, TCP header, and TCP data. TCP-AO protects
permits opportunistic encryption of the TCP transport payload. the transport layer, preventing attacks from disabling the TCP
connection itself and provides replay protection. TCP-AO may
interact with middleboxes, depending on their behaviour [RFC3234].
4.3. Encrypting the Transport Header The IPsec Authentication Header (AH) [RFC4302] was designed to
work at the network layer and authenticate the IP payload. This
approach authenticates all transport headers, and verifies their
integrity at the receiver, preventing in-network modification.
The network layer payload could be encrypted (including the entire Encrypting the Transport Payload: The transport layer payload can be
transport header and the payload). This method provides encrypted to protect the content of transport segments. This
confidentiality of the entire transport packet. It therefore does leaves transport protocol header information in the clear. The
not expose any transport information to devices in the network, which integrity of immutable transport header fields could be protected
also prevents modification along a network path. by combining this with an integrity check.
One example of encryption at the network layer is use of IPsec Examples of encrypting the payload include Transport Layer
Encapsulating Security Payload (ESP) [RFC4303] in tunnel mode. This Security (TLS) over TCP [RFC8446] [RFC7525], Datagram TLS (DTLS)
encrypts and authenticates all transport headers, preventing over UDP [RFC6347] [RFC7525], and TCPcrypt
visibility of the transport headers by in-network devices. Some [I-D.ietf-tcpinc-tcpcrypt], which permits opportunistic encryption
Virtual Private Network (VPN) methods also encrypt these headers. of the TCP transport payload.
4.4. Authenticating Transport Information and Selectively Encrypting Encrypting the Transport Headers and Payload: The network layer
the Transport Header payload could be encrypted (including the entire transport header
and the payload). This method provides confidentiality of the
entire transport packet. It therefore does not expose any
transport information to devices in the network, which also
prevents modification along a network path.
A transport protocol design can encrypt selected header fields, while One example of encryption at the network layer is use of IPsec
also choosing to authenticate fields in the transport header. This Encapsulating Security Payload (ESP) [RFC4303] in tunnel mode.
allows specific transport header fields to be made observable by This encrypts and authenticates all transport headers, preventing
network devices. End-to end integrity checks can prevent an endpoint visibility of the transport headers by in-network devices. Some
from undetected modification of the immutable transport headers. Virtual Private Network (VPN) methods also encrypt these headers.
Mutable fields in the transport header provide opportunities for Selectively Encrypting Transport Headers and Payload: A transport
middleboxes to modify the transport behaviour (e.g., the extended protocol design can encrypt selected header fields, while also
headers described in [I-D.trammell-plus-abstract-mech]). This choosing to authenticate the entire transport header. This allows
considers only immutable fields in the transport headers, that is, specific transport header fields to be made observable by network
fields that may be authenticated End-to-End across a path. devices. End-to end integrity checks can prevent an endpoint from
undetected modification of the immutable transport headers.
An example of a method that encrypts some, but not all, transport Mutable fields in the transport header provide opportunities for
information is GRE-in-UDP [RFC8086] when used with GRE encryption. middleboxes to modify the transport behaviour (e.g., the extended
headers described in [I-D.trammell-plus-abstract-mech]). This
considers only immutable fields in the transport headers, that is,
fields that may be authenticated End-to-End across a path.
4.5. Optional Encryption of Header Information An example of a method that encrypts some, but not all, transport
information is GRE-in-UDP [RFC8086] when used with GRE encryption.
There are implications to the use of optional header encryption in Optional Encryption of Header Information: There are implications to
the design of a transport protocol, where support of optional the use of optional header encryption in the design of a transport
mechanisms can increase the complexity of the protocol and its protocol, where support of optional mechanisms can increase the
implementation and in the management decisions that are required to complexity of the protocol and its implementation and in the
use variable format fields. Instead, fields of a specific type ought management decisions that are required to use variable format
to always be sent with the same level of confidentiality or integrity fields. Instead, fields of a specific type ought to always be
protection. sent with the same level of confidentiality or integrity
protection.
5. Addition of Transport Information to Network-Layer Protocol Headers 5. Addition of Transport Information to Network-Layer Protocol Headers
Transport protocol information can be made visible in a network-layer Transport protocol information can be made visible in a network-layer
header. This has the advantage that this information can then be header. This has the advantage that this information can then be
observed by in-network devices. This has the advantage that a single observed by in-network devices. This has the advantage that a single
header can support all transport protocols, but there may also be header can support all transport protocols, but there may also be
less desirable implications of separating the operation of the less desirable implications of separating the operation of the
transport protocol from the measurement framework. transport protocol from the measurement framework.
skipping to change at page 27, line 38 skipping to change at page 27, line 38
have used UDP, and much of this traffic utilises RTP format headers have used UDP, and much of this traffic utilises RTP format headers
in the payload of the UDP datagram. Since these protocol headers in the payload of the UDP datagram. Since these protocol headers
have been fixed for decades, a range of tools and analysis methods have been fixed for decades, a range of tools and analysis methods
have became common and well-understood. Over this period, the have became common and well-understood. Over this period, the
transport protocol headers have mostly changed slowly, and so also transport protocol headers have mostly changed slowly, and so also
the need to develop tools track new versions of the protocol. the need to develop tools track new versions of the protocol.
Confidentiality and strong integrity checks have properties that are Confidentiality and strong integrity checks have properties that are
being incorporated into new protocols and which have important being incorporated into new protocols and which have important
benefits. The pace of development of transports using the WebRTC benefits. The pace of development of transports using the WebRTC
data channel and the rapid deployment of QUIC prototype transports data channel and the rapid deployment of QUIC transport protocol can
can both be attributed to using a combination of UDP transport and both be attributed to using the combination of UDP as a substrate
confidentiality of the UDP payload. while providing confidentiality and authentication of the
encapsulated transport headers and payload.
The traffic that can be observed by on-path network devices is a The traffic that can be observed by on-path network devices is a
function of transport protocol design/options, network use, function of transport protocol design/options, network use,
applications and user characteristics. In general, when only a small applications, and user characteristics. In general, when only a
proportion of the traffic has a specific (different) characteristic. small proportion of the traffic has a specific (different)
Such traffic seldom leads to an operational issue although the characteristic, such traffic seldom leads to operational concern,
ability to measure and monitor it is less. The desire to understand although the ability to measure and monitor it is less. The desire
the traffic and protocol interactions typically grows as the to understand the traffic and protocol interactions typically grows
proportion of traffic increases in volume. The challenges increase as the proportion of traffic increases in volume. The challenges
when multiple instances of an evolving protocol contribute to the increase when multiple instances of an evolving protocol contribute
traffic that share network capacity. to the traffic that share network capacity.
An increased pace of evolution therefore needs to be accompanied by An increased pace of evolution therefore needs to be accompanied by
methods that can be successfully deployed and used across operational methods that can be successfully deployed and used across operational
networks. This leads to a need for network operators (at various networks. This leads to a need for network operators (at various
level (ISPs, enterprises, firewall maintainer, etc) to identify level (ISPs, enterprises, firewall maintainer, etc) to identify
appropriate operational support functions and procedures. appropriate operational support functions and procedures.
Protocols that change their transport header format (wire format) or Protocols that change their transport header format (wire format) or
their behaviour (e.g., algorithms that are needed to classify and their behaviour (e.g., algorithms that are needed to classify and
characterise the protocol), will require new tooling needs to be characterise the protocol), will require new tooling to be developed
developed to catch-up with the changes. If the currently deployed to catch-up with the changes. If the currently deployed tools and
tools and methods are no longer relevant and performance may not be methods are no longer relevant then performance may not be correctly
correctly measured. This can increase the response-time after measured. This can increase the response-time after faults, and can
faults, and can impact the ability to manage the network resulting in impact the ability to manage the network resulting in traffic causing
traffic causing traffic to be treated inappropriately (e.g., rate traffic to be treated inappropriately (e.g., rate limiting because of
limiting because of being incorrectly classified/monitored). There being incorrectly classified/monitored). There are benefits in
are benefits in exposing consistent information to the network that exposing consistent information to the network that avoids traffic
avoids traffic being mis-classified and then receiving a default being mis-classified and then receiving a default treatment by the
treatment by the network. network.
As a part of its design a new protocol specification therefore needs As a part of its design a new protocol specification therefore needs
to weigh the benefits of ossifying common headers, versus the to weigh the benefits of ossifying common headers, versus the
potential demerits of exposing specific information that could be potential demerits of exposing specific information that could be
observed along the network path to provide tools to manage new observed along the network path, to provide tools to manage new
variants of protocols. Several scenarios to illustrate different variants of protocols. Several scenarios to illustrate different
ways this could evolve are provided below: ways this could evolve are provided below:
o One scenario is when transport protocols provide consistent o One scenario is when transport protocols provide consistent
information to the network by intentionally exposing a part of the information to the network by intentionally exposing a part of the
transport header. The design fixes the format of this information transport header. The design fixes the format of this information
between versions of the protocol. This ossification of the between versions of the protocol. This ossification of the
transport header allows an operator to establish tooling and transport header allows an operator to establish tooling and
procedures that enable it to provide consistent traffic management procedures that enable it to provide consistent traffic management
as the protocol evolves. In contrast to TCP (where all protocol as the protocol evolves. In contrast to TCP (where all protocol
skipping to change at page 29, line 4 skipping to change at page 29, line 4
information, rather than inferring information from other information, rather than inferring information from other
characteristics of the flow traffic). The exposed transport characteristics of the flow traffic). The exposed transport
information can be used by operators to provide troubleshooting, information can be used by operators to provide troubleshooting,
measurement and any necessary functions appropriate to the class measurement and any necessary functions appropriate to the class
of traffic (priority, retransmission, reordering, circuit of traffic (priority, retransmission, reordering, circuit
breakers, etc). breakers, etc).
o An alternative scenario adopts different design goals, with a o An alternative scenario adopts different design goals, with a
different outcome. A protocol that encrypts all header different outcome. A protocol that encrypts all header
information forces network operators to act independently from information forces network operators to act independently from
apps/transport developments to provide the transport information apps/transport developments to extract the information they need
they need. A range of approaches may proliferate, as in current to manage their network. A range of approaches may proliferate,
networks, operators can add a shim header to each packet as a flow as in current networks. Some operators can add a shim header to
as it crosses the network; other operators/managers could develop each packet as a flow as it crosses the network; other operators/
heuristics and pattern recognition to derive information that managers could develop heuristics and pattern recognition to
classifies flows and estimates quality metrics for the service derive information that classifies flows and estimates quality
being used; some could decide to rate-limit or block traffic until metrics for the service being used; some could decide to rate-
new tooling is in place. In many cases, the derived information limit or block traffic until new tooling is in place. In many
can be used by operators to provide necessary functions cases, the derived information can be used by operators to provide
appropriate to the class of traffic (priority, retransmission, necessary functions appropriate to the class of traffic (priority,
reordering, circuit breakers, etc). Troubleshooting, and retransmission, reordering, circuit breakers, etc).
measurement becomes more difficult, and more diverse. This could Troubleshooting, and measurement becomes more difficult, and more
require additional information beyond that visible in the packet diverse. This could require additional information beyond that
header and when this information is used to inform decisions by visible in the packet header and when this information is used to
on-path devices it can lead to dependency on other characteristics inform decisions by on-path devices it can lead to dependency on
of the flow. In some cases, operators might need access to keying other characteristics of the flow. In some cases, operators might
information to interpret encrypted data that they observe. Some need access to keying information to interpret encrypted data that
use cases could demand use of transports that do not use they observe. Some use cases could demand use of transports that
encryption. do not use encryption.
The outcome could have significant implications on the way the The outcome could have significant implications on the way the
Internet architecture develops. It exposes a risk that significant Internet architecture develops. It exposes a risk that significant
actors (e.g., developers and transport designers) achieve more actors (e.g., developers and transport designers) achieve more
control of the way in which the Internet architecture develops.In control of the way in which the Internet architecture develops.In
particular, there is a possibility that designs could evolve to particular, there is a possibility that designs could evolve to
significantly benefit of customers for a specific vendor, and that significantly benefit of customers for a specific vendor, and that
communities with very different network, applications or platforms communities with very different network, applications or platforms
could then suffer at the expense of benefits to their vendors own could then suffer at the expense of benefits to their vendors own
customer base. In such a scenario, there could be no incentive to customer base. In such a scenario, there could be no incentive to
skipping to change at page 30, line 26 skipping to change at page 30, line 26
It therefore prevents mechanisms being built that directly rely on It therefore prevents mechanisms being built that directly rely on
the information or seeks to imply semantics of an exposed header the information or seeks to imply semantics of an exposed header
field. Hiding headers can limit the ability to measure and field. Hiding headers can limit the ability to measure and
characterise traffic. characterise traffic.
Exposed transport headers are sometimes utilised as a part of the Exposed transport headers are sometimes utilised as a part of the
information to detect anomalies in network traffic. This can be used information to detect anomalies in network traffic. This can be used
as the first line of defence yo identify potential threats from DOS as the first line of defence yo identify potential threats from DOS
or malware and redirect suspect traffic to dedicated nodes or malware and redirect suspect traffic to dedicated nodes
responsible for DOS analysis, malware detection, or to perform packet responsible for DOS analysis, malware detection, or to perform packet
scrubbing "Scrubbing" (the normalization of packets so that there are "scrubbing" (the normalization of packets so that there are no
no ambiguities in interpretation by the ultimate destination of the ambiguities in interpretation by the ultimate destination of the
packet). These techniques are currently used by some operators to packet). These techniques are currently used by some operators to
also defend from distributed DOS attacks. also defend from distributed DOS attacks.
Exposed transport headers are sometimes also utilised as a part of Exposed transport headers are sometimes also utilised as a part of
the information used by the receiver of a transport protocol to the information used by the receiver of a transport protocol to
protect the transport layer from data injection by an attacker. In protect the transport layer from data injection by an attacker. In
evaluating this use of exposed header information, it is important to evaluating this use of exposed header information, it is important to
consider whether it introduces a significant DOS threat. For consider whether it introduces a significant DOS threat. For
example, an attacker could construct a DOS attack by sending packets example, an attacker could construct a DOS attack by sending packets
with a sequence number that falls within the currently accepted range with a sequence number that falls within the currently accepted range
skipping to change at page 32, line 37 skipping to change at page 32, line 37
[I-D.thomson-quic-grease] [I-D.thomson-quic-grease]
Thomson, M., "More Apparent Randomization for QUIC", Thomson, M., "More Apparent Randomization for QUIC",
draft-thomson-quic-grease-00 (work in progress), December draft-thomson-quic-grease-00 (work in progress), December
2017. 2017.
[I-D.trammell-plus-abstract-mech] [I-D.trammell-plus-abstract-mech]
Trammell, B., "Abstract Mechanisms for a Cooperative Path Trammell, B., "Abstract Mechanisms for a Cooperative Path
Layer under Endpoint Control", draft-trammell-plus- Layer under Endpoint Control", draft-trammell-plus-
abstract-mech-00 (work in progress), September 2016. abstract-mech-00 (work in progress), September 2016.
[I-D.trammell-wire-image]
Trammell, B. and M. Kuehlewind, "The Wire Image of a
Network Protocol", draft-trammell-wire-image-04 (work in
progress), April 2018.
[Latency] Briscoe, B., "Reducing Internet Latency: A Survey of [Latency] Briscoe, B., "Reducing Internet Latency: A Survey of
Techniques and Their Merits", November 2014. Techniques and Their Merits, IEEE Comm. Surveys &
Tutorials. 26;18(3) p2149-2196", November 2014.
[Measure] Fairhurst, G., Kuehlewind, M., and D. Lopez, "Measurement- [Measure] Fairhurst, G., Kuehlewind, M., and D. Lopez, "Measurement-
based Protocol Design", June 2017. based Protocol Design, Eur. Conf. on Networks and
Communications, Oulu, Finland.", June 2017.
[RFC1273] Schwartz, M., "Measurement Study of Changes in Service- [RFC1273] Schwartz, M., "Measurement Study of Changes in Service-
Level Reachability in the Global TCP/IP Internet: Goals, Level Reachability in the Global TCP/IP Internet: Goals,
Experimental Design, Implementation, and Policy Experimental Design, Implementation, and Policy
Considerations", RFC 1273, DOI 10.17487/RFC1273, November Considerations", RFC 1273, DOI 10.17487/RFC1273, November
1991, <https://www.rfc-editor.org/info/rfc1273>. 1991, <https://www.rfc-editor.org/info/rfc1273>.
[RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black,
"Definition of the Differentiated Services Field (DS "Definition of the Differentiated Services Field (DS
Field) in the IPv4 and IPv6 Headers", RFC 2474, Field) in the IPv4 and IPv6 Headers", RFC 2474,
skipping to change at page 37, line 43 skipping to change at page 37, line 43
Kathleen Moriarty (on 08/05/2018 and 17/05/2018), Joe Touch on Kathleen Moriarty (on 08/05/2018 and 17/05/2018), Joe Touch on
11/05/2018, and Spencer Dawkins. 11/05/2018, and Spencer Dawkins.
-09 Updated security considerations. -09 Updated security considerations.
-10 Updated references, split the Introduction, and added a paragraph -10 Updated references, split the Introduction, and added a paragraph
giving some examples of why ossification has been an issue. giving some examples of why ossification has been an issue.
-00 This is the first revision submitted as a working group document. -00 This is the first revision submitted as a working group document.
-01 This resolved some reference issues. Updated section on
observation by devices on the path.
Authors' Addresses Authors' Addresses
Godred Fairhurst Godred Fairhurst
University of Aberdeen University of Aberdeen
Department of Engineering Department of Engineering
Fraser Noble Building Fraser Noble Building
Aberdeen AB24 3UE Aberdeen AB24 3UE
Scotland Scotland
EMail: gorry@erg.abdn.ac.uk EMail: gorry@erg.abdn.ac.uk
URI: http://www.erg.abdn.ac.uk/ URI: http://www.erg.abdn.ac.uk/
 End of changes. 44 change blocks. 
168 lines changed or deleted 184 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/