📄 rfc3135.txt
字号:
Network Working Group J. Border
Request for Comments: 3135 Hughes Network Systems
Category: Informational M. Kojo
University of Helsinki
J. Griner
NASA Glenn Research Center
G. Montenegro
Sun Microsystems, Inc.
Z. Shelby
University of Oulu
June 2001
Performance Enhancing Proxies Intended to Mitigate Link-Related
Degradations
Status of this Memo
This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2001). All Rights Reserved.
Abstract
This document is a survey of Performance Enhancing Proxies (PEPs)
often employed to improve degraded TCP performance caused by
characteristics of specific link environments, for example, in
satellite, wireless WAN, and wireless LAN environments. Different
types of Performance Enhancing Proxies are described as well as the
mechanisms used to improve performance. Emphasis is put on proxies
operating with TCP. In addition, motivations for their development
and use are described along with some of the consequences of using
them, especially in the context of the Internet.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Types of Performance Enhancing Proxies . . . . . . . . . . . . 4
2.1 Layering . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.1 Transport Layer PEPs . . . . . . . . . . . . . . . . . . . . 5
2.1.2 Application Layer PEPs . . . . . . . . . . . . . . . . . . . 5
2.2 Distribution . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Implementation Symmetry . . . . . . . . . . . . . . . . . . . 6
2.4 Split Connections . . . . . . . . . . . . . . . . . . . . . . 7
Border, et al. Informational [Page 1]
RFC 3135 PILC - Performance Enhancing Proxies June 2001
2.5 Transparency . . . . . . . . . . . . . . . . . . . . . . . . . 8
3. PEP Mechanisms . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1 TCP ACK Handling . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.1 TCP ACK Spacing . . . . . . . . . . . . . . . . . . . . . . 9
3.1.2 Local TCP Acknowledgements . . . . . . . . . . . . . . . . . 9
3.1.3 Local TCP Retransmissions . . . . . . . . . . . . . . . . . 9
3.1.4 TCP ACK Filtering and Reconstruction . . . . . . . . . . . . 10
3.2 Tunneling . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3 Compression . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4 Handling Periods of Link Disconnection with TCP . . . . . . . 11
3.5 Priority-based Multiplexing . . . . . . . . . . . . . . . . . 12
3.6 Protocol Booster Mechanisms . . . . . . . . . . . . . . . . . 13
4. Implications of Using PEPs . . . . . . . . . . . . . . . . . . 14
4.1 The End-to-end Argument . . . . . . . . . . . . . . . . . . . 14
4.1.1 Security . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.1.1.1 Security Implications . . . . . . . . . . . . . . . . . . 15
4.1.1.2 Security Implication Mitigations . . . . . . . . . . . . . 16
4.1.1.3 Security Research Related to PEPs . . . . . . . . . . . . 16
4.1.2 Fate Sharing . . . . . . . . . . . . . . . . . . . . . . . . 16
4.1.3 End-to-end Reliability . . . . . . . . . . . . . . . . . . . 17
4.1.4 End-to-end Failure Diagnostics . . . . . . . . . . . . . . . 19
4.2 Asymmetric Routing . . . . . . . . . . . . . . . . . . . . . . 19
4.3 Mobile Hosts . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.4 Scalability . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.5 Other Implications of Using PEPs . . . . . . . . . . . . . . . 21
5. PEP Environment Examples . . . . . . . . . . . . . . . . . . . 21
5.1 VSAT Environments . . . . . . . . . . . . . . . . . . . . . . 21
5.1.1 VSAT Network Characteristics . . . . . . . . . . . . . . . . 22
5.1.2 VSAT Network PEP Implementations . . . . . . . . . . . . . . 23
5.1.3 VSAT Network PEP Motivation . . . . . . . . . . . . . . . . 24
5.2 W-WAN Environments . . . . . . . . . . . . . . . . . . . . . . 25
5.2.1 W-WAN Network Characteristics . . . . . . . . . . . . . . . 25
5.2.2 W-WAN PEP Implementations . . . . . . . . . . . . . . . . . 26
5.2.2.1 Mowgli System . . . . . . . . . . . . . . . . . . . . . . 26
5.2.2.2 Wireless Application Protocol (WAP) . . . . . . . . . . . 28
5.2.3 W-WAN PEP Motivation . . . . . . . . . . . . . . . . . . . . 29
5.3 W-LAN Environments . . . . . . . . . . . . . . . . . . . . . . 30
5.3.1 W-LAN Network Characteristics . . . . . . . . . . . . . . . 30
5.3.2 W-LAN PEP Implementations: Snoop . . . . . . . . . . . . . . 31
5.3.3 W-LAN PEP Motivation . . . . . . . . . . . . . . . . . . . . 33
6. Security Considerations . . . . . . . . . . . . . . . . . . . . 34
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 34
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 34
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 35
10. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 39
Appendix A - PEP Terminology Summary . . . . . . . . . . . . . . . 41
Full Copyright Statement . . . . . . . . . . . . . . . . . . . . . 45
Border, et al. Informational [Page 2]
RFC 3135 PILC - Performance Enhancing Proxies June 2001
1. Introduction
The Transmission Control Protocol [RFC0793] (TCP) is used as the
transport layer protocol by many Internet and intranet applications.
However, in certain environments, TCP and other higher layer protocol
performance is limited by the link characteristics of the
environment.
This document is a survey of Performance Enhancing Proxy (PEP)
performance migitigation techniques. A PEP is used to improve the
performance of the Internet protocols on network paths where native
performance suffers due to characteristics of a link or subnetwork on
the path. This document is informational and does not make
recommendations about using PEPs or not using them. Distinct
standards track recommendations for the performance mitigation of TCP
over links with high error rates, links with low bandwidth, and so
on, have been developed or are in development by the Performance
Implications of Link Characteristics WG (PILC) [PILCWEB].
Link design choices may have a significant influence on the
performance and efficiency of the Internet. However, not all link
characteristics, for example, high latency, can be compensated for by
choices in the link layer design. And, the cost of compensating for
some link characteristics may be prohibitive for some technologies.
The techniques surveyed here are applied to existing link
technologies. When new link technologies are designed, they should
be designed so that these techniques are not required, if at all
possible.
This document does not advocate the use of PEPs in any general case.
On the contrary, we believe that the end-to-end principle in
designing Internet protocols should be retained as the prevailing
approach and PEPs should be used only in specific environments and
circumstances where end-to-end mechanisms providing similar
performance enhancements are not available. In any environment where
one might consider employing a PEP for improved performance, an end
user (or, in some cases, the responsible network administrator)
should be aware of the PEP and the choice of employing PEP
functionality should be under the control of the end user, especially
if employing the PEP would interfere with end-to-end usage of IP
layer security mechanisms or otherwise have undesirable implications
in some circumstances. This would allow the user to choose end-to-
end IP at all times but, of course, without the performance
enhancements that employing the PEP may yield.
This survey does not make recommendations, for or against, with
respect to using PEPs. Standards track recommendations have been or
are being developed within the IETF for individual link
Border, et al. Informational [Page 3]
RFC 3135 PILC - Performance Enhancing Proxies June 2001
characteristics, e.g., links with high error rates, links with low
bandwidth, links with asymmetric bandwidth, etc., by the Performance
Implications of Link Characteristics WG (PILC) [PILCWEB].
The remainder of this document is organized as follows. Section 2
provides an overview of different kinds of PEP implementations.
Section 3 discusses some of the mechanisms which PEPs may employ in
order to improve performance. Section 4 discusses some of the
implications with respect to using PEPs, especially in the context of
the global Internet. Finally, Section 5 discusses some example
environments where PEPs are used: satellite very small aperture
terminal (VSAT) environments, mobile wireless WAN (W-WAN)
environments and wireless LAN (W-LAN) environments. A summary of PEP
terminology is included in an appendix (Appendix A).
2. Types of Performance Enhancing Proxies
There are many types of Performance Enhancing Proxies. Different
types of PEPs are used in different environments to overcome
different link characteristics which affect protocol performance.
Note that enhancing performance is not necessarily limited in scope
to throughput. Other performance related aspects, like usability of
a link, may also be addressed. For example, [M-TCP] addresses the
issue of keeping TCP connections alive during periods of
disconnection in wireless networks.
The following sections describe some of the key characteristics which
differentiate different types of PEPs.
2.1 Layering
In principle, a PEP implementation may function at any protocol layer
but typically it functions at one or two layers only. In this
document we focus on PEP implementations that function at the
transport layer or at the application layer as such PEPs are most
commonly used to enhance performance over links with problematic
characteristics. A PEP implementation may also operate below the
network layer, that is, at the link layer, but this document pays
only little attention to such PEPs as link layer mechanisms can be
and typically are implemented transparently to network and higher
layers, requiring no modifications to protocol operation above the
link layer. It should also be noted that some PEP implementations
operate across several protocol layers by exploiting the protocol
information and possibly modifying the protocol operation at more
than one layer. For such a PEP it may be difficult to define at
which layer(s) it exactly operates on.
Border, et al. Informational [Page 4]
RFC 3135 PILC - Performance Enhancing Proxies June 2001
2.1.1 Transport Layer PEPs
Transport layer PEPs operate at the transport level. They may be
aware of the type of application being carried by the transport layer
but, at most, only use this information to influence their behavior
with respect to the transport protocol; they do not modify the
application protocol in any way, but let the application protocol
operate end-to-end. Most transport layer PEP implementations
interact with TCP. Such an implementation is called a TCP
Performance Enhancing Proxy (TCP PEP). For example, in an
environment where ACKs may bunch together causing undesirable data
segment bursts, a TCP PEP may be used to simply modify the ACK
spacing in order to improve performance. On the other hand, in an
environment with a large bandwidth*delay product, a TCP PEP may be
used to alter the behavior of the TCP connection by generating local
acknowledgments to TCP data segments in order to improve the
connection's throughput.
The term TCP spoofing is sometimes used synonymously for TCP PEP
functionality. However, the term TCP spoofing more accurately
describes the characteristic of intercepting a TCP connection in the
middle and terminating the connection as if the interceptor is the
intended destination. While this is a characteristic of many TCP PEP
implementations, it is not a characteristic of all TCP PEP
implementations.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -