2580 lines
110 KiB
Plaintext
2580 lines
110 KiB
Plaintext
|
||
|
||
|
||
|
||
|
||
|
||
Network Working Group G. Montenegro
|
||
Request for Comments: 2757 Sun Microsystems, Inc.
|
||
Category: Informational S. Dawkins
|
||
Nortel Networks
|
||
M. Kojo
|
||
University of Helsinki
|
||
V. Magret
|
||
Alcatel
|
||
N. Vaidya
|
||
Texas A&M University
|
||
January 2000
|
||
|
||
|
||
Long Thin Networks
|
||
|
||
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 (2000). All Rights Reserved.
|
||
|
||
Abstract
|
||
|
||
In view of the unpredictable and problematic nature of long thin
|
||
networks (for example, wireless WANs), arriving at an optimized
|
||
transport is a daunting task. We have reviewed the existing
|
||
proposals along with future research items. Based on this overview,
|
||
we also recommend mechanisms for implementation in long thin
|
||
networks.
|
||
|
||
Our goal is to identify a TCP that works for all users, including
|
||
users of long thin networks. We started from the working
|
||
recommendations of the IETF TCP Over Satellite Links (tcpsat) working
|
||
group with this end in mind.
|
||
|
||
We recognize that not every tcpsat recommendation will be required
|
||
for long thin networks as well, and work toward a set of TCP
|
||
recommendations that are 'benign' in environments that do not require
|
||
them.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 1]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
Table of Contents
|
||
|
||
1 Introduction ................................................. 3
|
||
1.1 Network Architecture .................................... 5
|
||
1.2 Assumptions about the Radio Link ........................ 6
|
||
2 Should it be IP or Not? ..................................... 7
|
||
2.1 Underlying Network Error Characteristics ................ 7
|
||
2.2 Non-IP Alternatives ..................................... 8
|
||
2.2.1 WAP ................................................ 8
|
||
2.2.2 Deploying Non-IP Alternatives ...................... 9
|
||
2.3 IP-based Considerations ................................. 9
|
||
2.3.1 Choosing the MTU [Stevens94, RFC1144] .............. 9
|
||
2.3.2 Path MTU Discovery [RFC1191] ....................... 10
|
||
2.3.3 Non-TCP Proposals .................................. 10
|
||
3 The Case for TCP ............................................. 11
|
||
4 Candidate Optimizations ...................................... 12
|
||
4.1 TCP: Current Mechanisms ................................. 12
|
||
4.1.1 Slow Start and Congestion Avoidance ................ 12
|
||
4.1.2 Fast Retransmit and Fast Recovery .................. 12
|
||
4.2 Connection Setup with T/TCP [RFC1397, RFC1644] .......... 14
|
||
4.3 Slow Start Proposals .................................... 14
|
||
4.3.1 Larger Initial Window .............................. 14
|
||
4.3.2 Growing the Window during Slow Start ............... 15
|
||
4.3.2.1 ACK Counting .................................. 15
|
||
4.3.2.2 ACK-every-segment ............................. 16
|
||
4.3.3 Terminating Slow Start ............................. 17
|
||
4.3.4 Generating ACKs during Slow Start .................. 17
|
||
4.4 ACK Spacing ............................................. 17
|
||
4.5 Delayed Duplicate Acknowlegements ....................... 18
|
||
4.6 Selective Acknowledgements [RFC2018] .................... 18
|
||
4.7 Detecting Corruption Loss ............................... 19
|
||
4.7.1 Without Explicit Notification ...................... 19
|
||
4.7.2 With Explicit Notifications ........................ 20
|
||
4.8 Active Queue Management ................................. 21
|
||
4.9 Scheduling Algorithms ................................... 21
|
||
4.10 Split TCP and Performance-Enhancing Proxies (PEPs) ..... 22
|
||
4.10.1 Split TCP Approaches .............................. 23
|
||
4.10.2 Application Level Proxies ......................... 26
|
||
4.10.3 Snoop and its Derivatives ......................... 27
|
||
4.10.4 PEPs to handle Periods of Disconnection ........... 29
|
||
4.11 Header Compression Alternatives ........................ 30
|
||
4.12 Payload Compression .................................... 31
|
||
4.13 TCP Control Block Interdependence [Touch97] ............ 32
|
||
5 Summary of Recommended Optimizations ......................... 33
|
||
6 Conclusion ................................................... 35
|
||
7 Acknowledgements ............................................. 35
|
||
8 Security Considerations ...................................... 35
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 2]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
9 References ................................................... 36
|
||
Authors' Addresses ............................................. 44
|
||
Full Copyright Statement ....................................... 46
|
||
|
||
1 Introduction
|
||
|
||
Optimized wireless networking is one of the major hurdles that Mobile
|
||
Computing must solve if it is to enable ubiquitous access to
|
||
networking resources. However, current data networking protocols have
|
||
been optimized primarily for wired networks. Wireless environments
|
||
have very different characteristics in terms of latency, jitter, and
|
||
error rate as compared to wired networks. Accordingly, traditional
|
||
protocols are ill-suited to this medium.
|
||
|
||
Mobile Wireless networks can be grouped in W-LANs (for example,
|
||
802.11 compliant networks) and W-WANs (for example, CDPD [CDPD],
|
||
Ricochet, CDMA [CDMA], PHS, DoCoMo, GSM [GSM] to name a few). W-WANs
|
||
present the most serious challenge, given that the length of the
|
||
wireless link (expressed as the delay*bandwidth product) is typically
|
||
4 to 5 times as long as that of its W-LAN counterparts. For example,
|
||
for an 802.11 network, assuming the delay (round-trip time) is about
|
||
3 ms. and the bandwidth is 1.5 Mbps, the delay*bandwidth product is
|
||
4500 bits. For a W-WAN such as Ricochet, a typical round-trip time
|
||
may be around 500 ms. (the best is about 230 ms.), and the sustained
|
||
bandwidth is about 24 Kbps. This yields a delay*bandwidth product
|
||
roughly equal to 1.5 KB. In the near future, 3rd Generation wireless
|
||
services will offer 384Kbps and more. Assuming a 200 ms round-trip,
|
||
the delay*bandwidth product in this case is 76.8 Kbits (9.6 KB). This
|
||
value is larger than the default 8KB buffer space used by many TCP
|
||
implementations. This means that, whereas for W-LANs the default
|
||
buffer space is enough, future W-WANs will operate inefficiently
|
||
(that is, they will not be able to fill the pipe) unless they
|
||
override the default value. A 3rd Generation wireless service
|
||
offering 2 Mbps with 200-millisecond latency requires a 50 KB buffer.
|
||
|
||
Most importantly, latency across a link adversely affects
|
||
throughput. For example, [MSMO97] derives an upper bound on TCP
|
||
throughput. Indeed, the resultant expression is inversely related to
|
||
the round-trip time.
|
||
|
||
The long latencies also push the limits (and commonly transgress
|
||
them) for what is acceptable to users of interactive applications.
|
||
|
||
As a quick glance to our list of references will reveal, there is a
|
||
wealth of proposals that attempt to solve the wireless networking
|
||
problem. In this document, we survey the different solutions
|
||
available or under investigation, and issue the corresponding
|
||
recommendations.
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 3]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
There is a large body of work on the subject of improving TCP
|
||
performance over satellite links. The documents under development by
|
||
the tcpsat working group of the IETF [AGS98, ADGGHOSSTT98] are very
|
||
relevant. In both cases, it is essential to start by improving the
|
||
characteristics of the medium by using forward error correction (FEC)
|
||
at the link layer to reduce the BER (bit error rate) from values as
|
||
high as 10-3 to 10-6 or better. This makes the BER manageable. Once
|
||
in this realm, retransmission schemes like ARQ (automatic repeat
|
||
request) may be used to bring it down even further. Notice that
|
||
sometimes it may be desirable to forego ARQ because of the additional
|
||
delay it implies. In particular, time sensitive traffic (video,
|
||
audio) must be delivered within a certain time limit beyond which the
|
||
data is obsolete. Exhaustive retransmissions in this case merely
|
||
succeed in wasting time in order to deliver data that will be
|
||
discarded once it arrives at its destination. This indicates the
|
||
desirability of augmenting the protocol stack implementation on
|
||
devices such that the upper protocol layers can inform the link and
|
||
MAC layer when to avoid such costly retransmission schemes.
|
||
|
||
Networks that include satellite links are examples of "long fat
|
||
networks" (LFNs or "elephants"). They are "long" networks because
|
||
their round-trip time is quite high (for example, 0.5 sec and higher
|
||
for geosynchronous satellites). Not all satellite links fall within
|
||
the LFN regime. In particular, round-trip times in a low-earth
|
||
orbiting (LEO) satellite network may be as little as a few
|
||
milliseconds (and never extend beyond 160 to 200 ms). W-WANs share
|
||
the "L" with LFNs. However, satellite networks are also "fat" in the
|
||
sense that they may have high bandwidth. Satellite networks may often
|
||
have a delay*bandwidth product above 64 KBytes, in which case they
|
||
pose additional problems to TCP [TCPHP]. W-WANs do not generally
|
||
exhibit this behavior. Accordingly, this document only deals with
|
||
links that are "long thin pipes", and the networks that contain them:
|
||
"long thin networks". We call these "LTNs".
|
||
|
||
This document does not give an overview of the API used to access the
|
||
underlying transport. We believe this is an orthogonal issue, even
|
||
though some of the proposals below have been put forth assuming a
|
||
given interface. It is possible, for example, to support the
|
||
traditional socket semantics without fully relying on TCP/IP
|
||
transport [MOWGLI].
|
||
|
||
Our focus is on the on-the-wire protocols. We try to include the most
|
||
relevant ones and briefly (given that we provide the references
|
||
needed for further study) mention their most salient points.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 4]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
1.1 Network Architecture
|
||
|
||
One significant difference between LFNs and LTNs is that we assume
|
||
the W-WAN link is the last hop to the end user. This allows us to
|
||
assume that a single intermediate node sees all packets transferred
|
||
between the wireless mobile device and the rest of the Internet.
|
||
This is only one of the topologies considered by the TCP Satellite
|
||
community.
|
||
|
||
Given our focus on mobile wireless applications, we only consider a
|
||
very specific architecture that includes:
|
||
|
||
- a wireless mobile device, connected via
|
||
|
||
- a wireless link (which may, in fact comprise several hops at
|
||
the link layer), to
|
||
|
||
- an intermediate node (sometimes referred to as a base station)
|
||
connected via
|
||
|
||
- a wireline link, which in turn interfaces with
|
||
|
||
- the landline Internet and millions of legacy servers and web
|
||
sites.
|
||
|
||
Specifically, we are not as concerned with paths that include two
|
||
wireless segments separated by a wired one. This may occur, for
|
||
example, if one mobile device connects across its immediate wireless
|
||
segment via an intermediate node to the Internet, and then via a
|
||
second wireless segment to another mobile device. Quite often,
|
||
mobile devices connect to a legacy server on the wired Internet.
|
||
|
||
Typically, the endpoints of the wireless segment are the intermediate
|
||
node and the mobile device. However, the latter may be a wireless
|
||
router to a mobile network. This is also important and has
|
||
applications in, for example, disaster recovery.
|
||
|
||
Our target architecture has implications which concern the
|
||
deployability of candidate solutions. In particular, an important
|
||
requirement is that we cannot alter the networking stack on the
|
||
legacy servers. It would be preferable to only change the networking
|
||
stack at the intermediate node, although changing it at the mobile
|
||
devices is certainly an option and perhaps a necessity.
|
||
|
||
We envision mobile devices that can use the wireless medium very
|
||
efficiently, but overcome some of its traditional constraints. That
|
||
is, full mobility implies that the devices have the flexibility and
|
||
agility to use whichever happens to be the best network connection
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 5]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
available at any given point in time or space. Accordingly, devices
|
||
could switch from a wired office LAN and hand over their ongoing
|
||
connections to continue on, say, a wireless WAN. This type of agility
|
||
also requires Mobile IP [RFC2002].
|
||
|
||
1.2 Assumptions about the Radio Link
|
||
|
||
The system architecture described above assumes at most one wireless
|
||
link (perhaps comprising more than one wireless hop). However, this
|
||
is not enough to characterize a wireless link. Additional
|
||
considerations are:
|
||
|
||
- What are the error characteristics of the wireless medium? The
|
||
link may present a higher BER than a wireline network due to
|
||
burst errors and disconnections. The techniques below usually
|
||
do not address all the types of errors. Accordingly, a complete
|
||
solution should combine the best of all the proposals.
|
||
Nevertheless, in this document we are more concerned with (and
|
||
give preference to solving) the most typical case: (1) higher
|
||
BER due to random errors (which implies longer and more
|
||
variable delays due to link-layer error corrections and
|
||
retransmissions) rather than (2) an interruption in service due
|
||
to a handoff or a disconnection. The latter are also important
|
||
and we do include relevant proposals in this survey.
|
||
|
||
- Is the wireless service datagram oriented, or is it a virtual
|
||
circuit? Currently, switched virtual circuits are more common,
|
||
but packet networks are starting to appear, for example,
|
||
Metricom's Starmode [CB96], CDPD [CDPD] and General Packet
|
||
Radio Service (GPRS) [GPRS],[BW97] in GSM.
|
||
|
||
- What kind of reliability does the link provide? Wireless
|
||
services typically retransmit a packet (frame) until it has
|
||
been acknowledged by the target. They may allow the user to
|
||
turn off this behavior. For example, GSM allows RLP [RLP]
|
||
(Radio Link Protocol) to be turned off. Metricom has a
|
||
similar "lightweight" mode. In GSM RLP, a frame is
|
||
retransmitted until the maximum number of retransmissions
|
||
(protocol parameter) is reached. What happens when this limit
|
||
is reached is determined by the telecom operator: the physical
|
||
link connection is either disconnected or a link reset is
|
||
enforced where the sequence numbers are resynchronized and the
|
||
transmit and receive buffers are flushed resulting in lost
|
||
data. Some wireless services, like CDMA IS95-RLP [CDMA,
|
||
Karn93], limit the latency on the wireless link by
|
||
retransmitting a frame only a couple of times. This decreases
|
||
the residual frame error rate significantly, but does not
|
||
provide fully reliable link service.
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 6]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
- Does the mobile device transmit and receive at the same time?
|
||
Doing so increases the cost of the electronics on the mobile
|
||
device. Typically, this is not the case. We assume in this
|
||
document that mobile devices do not transmit and receive
|
||
simultaneously.
|
||
|
||
- Does the mobile device directly address more than one peer on
|
||
the wireless link? Packets to each different peer may traverse
|
||
spatially distinct wireless paths. Accordingly, the path to
|
||
each peer may exhibit very different characteristics. Quite
|
||
commonly, the mobile device addresses only one peer (the
|
||
intermediate node) at any given point in time. When this is
|
||
not the case, techniques such as Channel-State Dependent Packet
|
||
Scheduling come into play (see the section "Packet Scheduling"
|
||
below).
|
||
|
||
2 Should it be IP or Not?
|
||
|
||
The first decision is whether to use IP as the underlying network
|
||
protocol or not. In particular, some data protocols evolved from
|
||
wireless telephony are not always -- though at times they may be --
|
||
layered on top of IP [MOWGLI, WAP]. These proposals are based on the
|
||
concept of proxies that provide adaptation services between the
|
||
wireless and wireline segments.
|
||
|
||
This is a reasonable model for mobile devices that always communicate
|
||
through the proxy. However, we expect many wireless mobile devices to
|
||
utilize wireline networks whenever they are available. This model
|
||
closely follows current laptop usage patterns: devices typically
|
||
utilize LANs, and only resort to dial-up access when "out of the
|
||
office."
|
||
|
||
For these devices, an architecture that assumes IP is the best
|
||
approach, because it will be required for communications that do not
|
||
traverse the intermediate node (for example, upon reconnection to a
|
||
W-LAN or a 10BaseT network at the office).
|
||
|
||
2.1 Underlying Network Error Characteristics
|
||
|
||
Using IP as the underlying network protocol requires a certain (low)
|
||
level of link robustness that is expected of wireless links.
|
||
|
||
IP, and the protocols that are carried in IP packets, are protected
|
||
end-to-end by checksums that are relatively weak [Stevens94,
|
||
Paxson97] (and, in some cases, optional). For much of the Internet,
|
||
these checksums are sufficient; in wireless environments, the error
|
||
characteristics of the raw wireless link are much less robust than
|
||
the rest of the end-to-end path. Hence for paths that include
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 7]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
wireless links, exclusively relying on end-to-end mechanisms to
|
||
detect and correct transmission errors is undesirable. These should
|
||
be complemented by local link-level mechanisms. Otherwise, damaged IP
|
||
packets are propagated through the network only to be discarded at
|
||
the destination host. For example, intermediate routers are required
|
||
to check the IP header checksum, but not the UDP or TCP checksums.
|
||
Accordingly, when the payload of an IP packet is corrupted, this is
|
||
not detected until the packet arrives at its ultimate destination.
|
||
|
||
A better approach is to use link-layer mechanisms such as FEC,
|
||
retransmissions, and so on in order to improve the characteristics of
|
||
the wireless link and present a much more reliable service to IP.
|
||
This approach has been taken by CDPD, Ricochet and CDMA.
|
||
|
||
This approach is roughly analogous to the successful deployment of
|
||
Point-to-Point Protocol (PPP), with robust framing and 16-bit
|
||
checksumming, on wireline networks as a replacement for the Serial
|
||
Line Interface Protocol (SLIP), with only a single framing byte and
|
||
no checksumming.
|
||
|
||
[AGS98] recommends the use of FEC in satellite environments.
|
||
|
||
Notice that the link-layer could adapt its frame size to the
|
||
prevalent BER. It would perform its own fragmentation and reassembly
|
||
so that IP could still enjoy a large enough MTU size [LS98].
|
||
|
||
A common concern for using IP as a transport is the header overhead
|
||
it implies. Typically, the underlying link-layer appears as PPP
|
||
[RFC1661] to the IP layer above. This allows for header compression
|
||
schemes [IPHC, IPHC-RTP, IPHC-PPP] which greatly alleviate the
|
||
problem.
|
||
|
||
2.2 Non-IP Alternatives
|
||
|
||
A number of non-IP alternatives aimed at wireless environments have
|
||
been proposed. One representative proposal is discussed here.
|
||
|
||
2.2.1 WAP
|
||
|
||
The Wireless Application Protocol (WAP) specifies an application
|
||
framework and network protocols for wireless devices such as mobile
|
||
telephones, pagers, and PDAs [WAP]. The architecture requires a proxy
|
||
between the mobile device and the server. The WAP protocol stack is
|
||
layered over a datagram transport service. Such a service is
|
||
provided by most wireless networks; for example, IS-136, GSM
|
||
SMS/USSD, and UDP in IP networks like CDPD and GSM GPRS. The core of
|
||
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 8]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
the WAP protocols is a binary HTTP/1.1 protocol with additional
|
||
features such as header caching between requests and a shared state
|
||
between client and server.
|
||
|
||
2.2.2 Deploying Non-IP Alternatives
|
||
|
||
IP is such a fundamental element of the Internet that non-IP
|
||
alternatives face substantial obstacles to deployment, because they
|
||
do not exploit the IP infrastructure. Any non-IP alternative that is
|
||
used to provide gatewayed access to the Internet must map between IP
|
||
addresses and non-IP addresses, must terminate IP-level security at a
|
||
gateway, and cannot use IP-oriented discovery protocols (Dynamic Host
|
||
Configuration Protocol, Domain Name Services, Lightweight Directory
|
||
Access Protocol, Service Location Protocol, etc.) without translation
|
||
at a gateway.
|
||
|
||
A further complexity occurs when a device supports both wireless and
|
||
wireline operation. If the device uses IP for wireless operation,
|
||
uninterrupted operation when the device is connected to a wireline
|
||
network is possible (using Mobile IP). If a non-IP alternative is
|
||
used, this switchover is more difficult to accomplish.
|
||
|
||
Non-IP alternatives face the burden of proof that IP is so ill-suited
|
||
to a wireless environment that it is not a viable technology.
|
||
|
||
2.3 IP-based Considerations
|
||
|
||
Given its worldwide deployment, IP is an obvious choice for the
|
||
underlying network technology. Optimizations implemented at this
|
||
level benefit traditional Internet application protocols as well as
|
||
new ones layered on top of IP or UDP.
|
||
|
||
2.3.1 Choosing the MTU [Stevens94, RFC1144]
|
||
|
||
In slow networks, the time required to transmit the largest possible
|
||
packet may be considerable. Interactive response time should not
|
||
exceed the well-known human factors limit of 100 to 200 ms. This
|
||
should be considered the maximum time budget to (1) send a packet and
|
||
(2) obtain a response. In most networking stack implementations, (1)
|
||
is highly dependent on the maximum transmission unit (MTU). In the
|
||
worst case, a small packet from an interactive application may have
|
||
to wait for a large packet from a bulk transfer application before
|
||
being sent. Hence, a good rule of thumb is to choose an MTU such that
|
||
its transmission time is less than (or not much larger than) 200 ms.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 9]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
Of course, compression and type-of-service queuing (whereby
|
||
interactive data packets are given a higher priority) may alleviate
|
||
this problem. In particular, the latter may reduce the average wait
|
||
time to about half the MTU's transmission time.
|
||
|
||
2.3.2 Path MTU Discovery [RFC1191]
|
||
|
||
Path MTU discovery benefits any protocol built on top of IP. It
|
||
allows a sender to determine what the maximum end-to-end transmission
|
||
unit is to a given destination. Without Path MTU discovery, the
|
||
default IPv4 MTU size is 576. The benefits of using a larger MTU are:
|
||
|
||
- Smaller ratio of header overhead to data
|
||
|
||
- Allows TCP to grow its congestion window faster, since it
|
||
increases in units of segments.
|
||
|
||
Of course, for a given BER, a larger MTU has a correspondingly larger
|
||
probability of error within any given segment. The BER may be reduced
|
||
using lower level techniques like FEC and link-layer retransmissions.
|
||
The issue is that now delays may become a problem due to the
|
||
additional retransmissions, and the fact that packet transmission
|
||
time increases with a larger MTU.
|
||
|
||
Recommendation: Path MTU discovery is recommended. [AGS98] already
|
||
recommends its use in satellite environments.
|
||
|
||
2.3.3 Non-TCP Proposals
|
||
|
||
Other proposals assume an underlying IP datagram service, and
|
||
implement an optimized transport either directly on top of IP
|
||
[NETBLT] or on top of UDP [MNCP]. Not relying on TCP is a bold move,
|
||
given the wealth of experience and research related to it. It could
|
||
be argued that the Internet has not collapsed because its main
|
||
protocol, TCP, is very careful in how it uses the network, and
|
||
generally treats it as a black box assuming all packet losses are due
|
||
to congestion and prudently backing off. This avoids further
|
||
congestion.
|
||
|
||
However, in the wireless medium, packet losses may also be due to
|
||
corruption due to high BER, fading, and so on. Here, the right
|
||
approach is to try harder, instead of backing off. Alternative
|
||
transport protocols are:
|
||
|
||
- NETBLT [NETBLT, RFC1986, RFC1030]
|
||
|
||
- MNCP [MNCP]
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 10]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
- ESRO [RFC2188]
|
||
|
||
- RDP [RFC908, RFC1151]
|
||
|
||
- VMTP [VMTP]
|
||
|
||
3 The Case for TCP
|
||
|
||
This is one of the most hotly debated issues in the wireless arena.
|
||
Here are some arguments against it:
|
||
|
||
- It is generally recognized that TCP does not perform well in
|
||
the presence of significant levels of non-congestion loss. TCP
|
||
detractors argue that the wireless medium is one such case, and
|
||
that it is hard enough to fix TCP. They argue that it is easier
|
||
to start from scratch.
|
||
|
||
- TCP has too much header overhead.
|
||
|
||
- By the time the mechanisms are in place to fix it, TCP is very
|
||
heavy, and ill-suited for use by lightweight, portable devices.
|
||
|
||
and here are some in support of TCP:
|
||
|
||
- It is preferable to continue using the same protocol that the
|
||
rest of the Internet uses for compatibility reasons. Any
|
||
extensions specific to the wireless link may be negotiated.
|
||
|
||
- Legacy mechanisms may be reused (for example three-way
|
||
handshake).
|
||
|
||
- Link-layer FEC and ARQ can reduce the BER such that any losses
|
||
TCP does see are, in fact, caused by congestion (or a sustained
|
||
interruption of link connectivity). Modern W-WAN technologies
|
||
do this (CDPD, US-TDMA, CDMA, GSM), thus improving TCP
|
||
throughput.
|
||
|
||
- Handoffs among different technologies are made possible by
|
||
Mobile IP [RFC2002], but only if the same protocols, namely
|
||
TCP/IP, are used throughout.
|
||
|
||
- Given TCP's wealth of research and experience, alternative
|
||
protocols are relatively immature, and the full implications of
|
||
their widespread deployment not clearly understood.
|
||
|
||
Overall, we feel that the performance of TCP over long-thin networks
|
||
can be improved significantly. Mechanisms to do so are discussed in
|
||
the next sections.
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 11]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
4 Candidate Optimizations
|
||
|
||
There is a large volume of work on the subject of optimizing TCP for
|
||
operation over wireless media. Even though satellite networks
|
||
generally fall in the LFN regime, our current LTN focus has much to
|
||
benefit from it. For example, the work of the TCP-over-Satellite
|
||
working group of the IETF has been extremely helpful in preparing
|
||
this section [AGS98, ADGGHOSSTT98].
|
||
|
||
4.1 TCP: Current Mechanisms
|
||
|
||
A TCP sender adapts its use of bandwidth based on feedback from the
|
||
receiver. The high latency characteristic of LTNs implies that TCP's
|
||
adaptation is correspondingly slower than on networks with shorter
|
||
delays. Similarly, delayed ACKs exacerbate the perceived latency on
|
||
the link. Given that TCP grows its congestion window in units of
|
||
segments, small MTUs may slow adaptation even further.
|
||
|
||
4.1.1 Slow Start and Congestion Avoidance
|
||
|
||
Slow Start and Congestion Avoidance [RFC2581] are essential the
|
||
Internet's stability. However there are two reasons why the wireless
|
||
medium adversely affects them:
|
||
|
||
- Whenever TCP's retransmission timer expires, the sender assumes
|
||
that the network is congested and invokes slow start. This is
|
||
why it is important to minimize the losses caused by
|
||
corruption, leaving only those caused by congestion (as
|
||
expected by TCP).
|
||
|
||
- The sender increases its window based on the number of ACKs
|
||
received. Their rate of arrival, of course, is dependent on the
|
||
RTT (round-trip-time) between sender and receiver, which
|
||
implies long ramp-up times in high latency links like LTNs. The
|
||
dependency lasts until the pipe is filled.
|
||
|
||
- During slow start, the sender increases its window in units of
|
||
segments. This is why it is important to use an appropriately
|
||
large MTU which, in turn, requires requires link layers with
|
||
low loss.
|
||
|
||
4.1.2 Fast Retransmit and Fast Recovery
|
||
|
||
When a TCP sender receives several duplicate ACKs, fast retransmit
|
||
[RFC2581] allows it to infer that a segment was lost. The sender
|
||
retransmits what it considers to be this lost segment without waiting
|
||
for the full timeout, thus saving time.
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 12]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
After a fast retransmit, a sender invokes the fast recovery [RFC2581]
|
||
algorithm. Fast recovery allows the sender to transmit at half its
|
||
previous rate (regulating the growth of its window based on
|
||
congestion avoidance), rather than having to begin a slow start. This
|
||
also saves time.
|
||
|
||
In general, TCP can increase its window beyond the delay-bandwidth
|
||
product. However, in LTN links the congestion window may remain
|
||
rather small, less than four segments, for long periods of time due
|
||
to any of the following reasons:
|
||
|
||
1. Typical "file size" to be transferred over a connection is
|
||
relatively small (Web requests, Web document objects, email
|
||
messages, files, etc.) In particular, users of LTNs are not
|
||
very willing to carry out large transfers as the response time
|
||
is so long.
|
||
|
||
2. If the link has high BER, the congestion window tends to stay
|
||
small
|
||
|
||
3. When an LTN is combined with a highly congested wireline
|
||
Internet path, congestion losses on the Internet have the same
|
||
effect as 2.
|
||
|
||
4. Commonly, ISPs/operators configure only a small number of
|
||
buffers (even as few as for 3 packets) per user in their dial-
|
||
up routers
|
||
|
||
5. Often small socket buffers are recommended with LTNs in order
|
||
to prevent the RTO from inflating and to diminish the amount of
|
||
packets with competing traffic.
|
||
|
||
A small window effectively prevents the sender from taking advantage
|
||
of Fast Retransmits. Moreover, efficient recovery from multiple
|
||
losses within a single window requires adoption of new proposals
|
||
(NewReno [RFC2582]). In addition, on slow paths with no packet
|
||
reordering waiting for three duplicate ACKs to arrive postpones
|
||
retransmission unnecessarily.
|
||
|
||
Recommendation: Implement Fast Retransmit and Fast Recovery at this
|
||
time. This is a widely-implemented optimization and is currently at
|
||
Proposed Standard level. [AGS98] recommends implementation of Fast
|
||
Retransmit/Fast Recovery in satellite environments. NewReno
|
||
[RFC2582] apparently does help a sender better handle partial ACKs
|
||
and multiple losses in a single window, but at this point is not
|
||
recommended due to its experimental nature. Instead, SACK [RFC2018]
|
||
is the preferred mechanism.
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 13]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
4.2 Connection Setup with T/TCP [RFC1397, RFC1644]
|
||
|
||
TCP engages in a "three-way handshake" whenever a new connection is
|
||
set up. Data transfer is only possible after this phase has
|
||
completed successfully. T/TCP allows data to be exchanged in
|
||
parallel with the connection set up, saving valuable time for short
|
||
transactions on long-latency networks.
|
||
|
||
Recommendation: T/TCP is not recommended, for these reasons:
|
||
|
||
- It is an Experimental RFC.
|
||
|
||
- It is not widely deployed, and it has to be deployed at both ends
|
||
of a connection.
|
||
|
||
- Security concerns have been raised that T/TCP is more vulnerable
|
||
to address-spoofing attacks than TCP itself.
|
||
|
||
- At least some of the benefits of T/TCP (eliminating three-way
|
||
handshake on subsequent query-response transactions, for instance)
|
||
are also available with persistent connections on HTTP/1.1, which
|
||
is more widely deployed.
|
||
|
||
[ADGGHOSSTT98] does not have a recommendation on T/TCP in satellite
|
||
environments.
|
||
|
||
4.3 Slow Start Proposals
|
||
|
||
Because slow start dominates the network response seen by interactive
|
||
users at the beginning of a TCP connection, a number of proposals
|
||
have been made to modify or eliminate slow start in long latency
|
||
environments.
|
||
|
||
Stability of the Internet is paramount, so these proposals must
|
||
demonstrate that they will not adversely affect Internet congestion
|
||
levels in significant ways.
|
||
|
||
4.3.1 Larger Initial Window
|
||
|
||
Traditional slow start, with an initial window of one segment, is a
|
||
time-consuming bandwidth adaptation procedure over LTNs. Studies on
|
||
an initial window larger than one segment [RFC2414, AHO98] resulted
|
||
in the TCP standard supporting a maximum value of 2 [RFC2581]. Higher
|
||
values are still experimental in nature.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 14]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
In simulations with an increased initial window of three packets
|
||
[RFC2415], this proposal does not contribute significantly to packet
|
||
drop rates, and it has the added benefit of improving initial
|
||
response times when the peer device delays acknowledgements during
|
||
slow start (see next proposal).
|
||
|
||
[RFC2416] addresses situations where the initial window exceeds the
|
||
number of buffers available to TCP and indicates that this situation
|
||
is no different from the case where the congestion window grows
|
||
beyond the number of buffers available.
|
||
|
||
[RFC2581] now allows an initial congestion window of two segments. A
|
||
larger initial window, perhaps as many as four segments, might be
|
||
allowed in the future in environments where this significantly
|
||
improves performance (LFNs and LTNs).
|
||
|
||
Recommendation: Implement this on devices now. The research on this
|
||
optimization indicates that 3 segments is a safe initial setting, and
|
||
is centering on choosing between 2, 3, and 4. For now, use 2
|
||
(following RFC2581), which at least allows clients running query-
|
||
response applications to get an initial ACK from unmodified servers
|
||
without waiting for a typical delayed ACK timeout of 200
|
||
milliseconds, and saves two round-trips. An initial window of 3
|
||
[RFC2415] looks promising and may be adopted in the future pending
|
||
further research and experience.
|
||
|
||
4.3.2 Growing the Window during Slow Start
|
||
|
||
The sender increases its window based on the flow of ACKs coming back
|
||
from the receiver. Particularly during slow start, this flow is very
|
||
important. A couple of the proposals that have been studied are (1)
|
||
ACK counting and (2) ACK-every-segment.
|
||
|
||
4.3.2.1 ACK Counting
|
||
|
||
The main idea behind ACK counting is:
|
||
|
||
- Make each ACK count to its fullest by growing the window based
|
||
on the data being acknowledged (byte counting) instead of the
|
||
number of ACKs (ACK counting). This has been shown to cause
|
||
bursts which lead to congestion. [Allman98] shows that Limited
|
||
Byte Counting (LBC), in which the window growth is limited to 2
|
||
segments, does not lead to as much burstiness, and offers some
|
||
performance gains.
|
||
|
||
Recommendation: Unlimited byte counting is not recommended. Van
|
||
Jacobson cautions against byte counting [TCPSATMIN] because it leads
|
||
to burstiness, and recommends ACK spacing [ACKSPACING] instead.
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 15]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
ACK spacing requires ACKs to consistently pass through a single ACK-
|
||
spacing router. This requirement works well for W-WAN environments
|
||
if the ACK-spacing router is also the intermediate node.
|
||
|
||
Limited byte counting warrants further investigation before we can
|
||
recommend this proposal, but it shows promise.
|
||
|
||
4.3.2.2 ACK-every-segment
|
||
|
||
The main idea behind ACK-every-segment is:
|
||
|
||
- Keep a constant stream of ACKs coming back by turning off
|
||
delayed ACKs [RFC1122] during slow start. ACK-every-segment
|
||
must be limited to slow start, in order to avoid penalizing
|
||
asymmetric-bandwidth configurations. For instance, a low
|
||
bandwidth link carrying acknowledgements back to the sender,
|
||
hinders the growth of the congestion window, even if the link
|
||
toward the client has a greater bandwidth [BPK99].
|
||
|
||
Even though simulations confirm its promise (it allows receivers to
|
||
receive the second segment from unmodified senders without waiting
|
||
for a typical delayed ACK timeout of 200 milliseconds), for this
|
||
technique to be practical the receiver must acknowledge every segment
|
||
only when the sender is in slow start. Continuing to do so when the
|
||
sender is in congestion avoidance may have adverse effects on the
|
||
mobile device's battery consumption and on traffic in the network.
|
||
|
||
This violates a SHOULD in [RFC2581]: delayed acknowledgements SHOULD
|
||
be used by a TCP receiver.
|
||
|
||
"Disabling Delayed ACKs During Slow Start" is technically
|
||
unimplementable, as the receiver has no way of knowing when the
|
||
sender crosses ssthresh (the "slow start threshold") and begins using
|
||
the congestion avoidance algorithm. If receivers follow
|
||
recommendations for increased initial windows, disabling delayed ACKs
|
||
during an increased initial window would open the TCP window more
|
||
rapidly without doubling ACK traffic in general. However, this
|
||
scheme might double ACK traffic if most connections remain in slow-
|
||
start.
|
||
|
||
Recommendation: ACK only the first segment on a new connection with
|
||
no delay.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 16]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
4.3.3 Terminating Slow Start
|
||
|
||
New mechanisms [ADGGHOSSTT98] are being proposed to improve TCP's
|
||
adaptive properties such that the available bandwidth is better
|
||
utilized while reducing the possibility of congesting the network.
|
||
This results in the closing of the congestion window to 1 segment
|
||
(which precludes fast retransmit), and the subsequent slow start
|
||
phase.
|
||
|
||
Theoretically, an optimum value for slow-start threshold (ssthresh)
|
||
allows connection bandwidth utilization to ramp up as aggressively as
|
||
possible without "overshoot" (using so much bandwidth that packets
|
||
are lost and congestion avoidance procedures are invoked).
|
||
|
||
Recommendation: Estimating the slow start threshold is not
|
||
recommended. Although this would be helpful if we knew how to do it,
|
||
rough consensus on the tcp-impl and tcp-sat mailing lists is that in
|
||
non-trivial operational networks there is no reliable method to probe
|
||
during TCP startup and estimate the bandwidth available.
|
||
|
||
4.3.4 Generating ACKs during Slow Start
|
||
|
||
Mitigations that inject additional ACKs (whether "ACK-first-segment"
|
||
or "ACK-every-segment-during-slow-start") beyond what today's
|
||
conformant TCPs inject are only applicable during the slow-start
|
||
phases of a connection. After an initial exchange, the connection
|
||
usually completes slow-start, so TCPs only inject additional ACKs
|
||
when (1) the connection is closed, and a new connection is opened, or
|
||
(2) the TCPs handle idle connection restart correctly by performing
|
||
slow start.
|
||
|
||
Item (1) is typical when using HTTP/1.0, in which each request-
|
||
response transaction requires a new connection. Persistent
|
||
connections in HTTP/1.1 help in maintaining a connection in
|
||
congestion avoidance instead of constantly reverting to slow-start.
|
||
Because of this, these optimizations which are only enabled during
|
||
slow-start do not get as much of a chance to act. Item (2), of
|
||
course, is independent of HTTP version.
|
||
|
||
4.4 ACK Spacing
|
||
|
||
During slow start, the sender responds to the incoming ACK stream by
|
||
transmitting N+1 segments for each ACK, where N is the number of new
|
||
segments acknowledged by the incoming ACK. This results in data
|
||
being sent at twice the speed at which it can be processed by the
|
||
network. Accordingly, queues will form, and due to insufficient
|
||
buffering at the bottleneck router, packets may get dropped before
|
||
the link's capacity is full.
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 17]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
Spacing out the ACKs effectively controls the rate at which the
|
||
sender will transmit into the network, and may result in little or no
|
||
queueing at the bottleneck router [ACKSPACING]. Furthermore, ack
|
||
spacing reduces the size of the bursts.
|
||
|
||
Recommendation: No recommendation at this time. Continue monitoring
|
||
research in this area.
|
||
|
||
4.5 Delayed Duplicate Acknowlegements
|
||
|
||
As was mentioned above, link-layer retransmissions may decrease the
|
||
BER enough that congestion accounts for most of packet losses; still,
|
||
nothing can be done about interruptions due to handoffs, moving
|
||
beyond wireless coverage, etc. In this scenario, it is imperative to
|
||
prevent interaction between link-layer retransmission and TCP
|
||
retransmission as these layers duplicate each other's efforts. In
|
||
such an environment it may make sense to delay TCP's efforts so as to
|
||
give the link-layer a chance to recover. With this in mind, the
|
||
Delayed Dupacks [MV97, Vaidya99] scheme selectively delays duplicate
|
||
acknowledgements at the receiver. It is preferable to allow a local
|
||
mechanism to resolve a local problem, instead of invoking TCP's end-
|
||
to-end mechanism and incurring the associated costs, both in terms of
|
||
wasted bandwidth and in terms of its effect on TCP's window behavior.
|
||
|
||
The Delayed Dupacks scheme can be used despite IP encryption since
|
||
the intermediate node does not need to examine the TCP headers.
|
||
|
||
Currently, it is not well understood how long the receiver should
|
||
delay the duplicate acknowledgments. In particular, the impact of
|
||
wireless medium access control (MAC) protocol on the choice of delay
|
||
parameter needs to be studied. The MAC protocol may affect the
|
||
ability to choose the appropriate delay (either statically or
|
||
dynamically). In general, significant variabilities in link-level
|
||
retransmission times can have an adverse impact on the performance of
|
||
the Delayed Dupacks scheme. Furthermore, as discussed later in
|
||
section 4.10.3, Delayed Dupacks and some other schemes (such as Snoop
|
||
[SNOOP]) are only beneficial in certain types of network links.
|
||
|
||
Recommendation: Delaying duplicate acknowledgements may be useful in
|
||
specific network topologies, but a general recommendation requires
|
||
further research and experience.
|
||
|
||
4.6 Selective Acknowledgements [RFC2018]
|
||
|
||
SACK may not be useful in many LTNs, according to Section 1.1 of
|
||
[TCPHP]. In particular, SACK is more useful in the LFN regime,
|
||
especially if large windows are being used, because there is a
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 18]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
considerable probability of multiple segment losses per window. In
|
||
the LTN regime, TCP windows are much smaller, and burst errors must
|
||
be much longer in duration in order to damage multiple segments.
|
||
|
||
Accordingly, the complexity of SACK may not be justifiable, unless
|
||
there is a high probability of burst errors and congestion on the
|
||
wireless link. A desire for compatibility with TCP recommendations
|
||
for non-LTN environments may dictate LTN support for SACK anyway.
|
||
|
||
[AGS98] recommends use of SACK with Large TCP Windows in satellite
|
||
environments, and notes that this implies support for PAWS
|
||
(Protection Against Wrapped Sequence space) and RTTM (Round Trip Time
|
||
Measurement) as well.
|
||
|
||
Berkeley's SNOOP protocol research [SNOOP] indicates that SACK does
|
||
improve throughput for SNOOP when multiple segments are lost per
|
||
window [BPSK96]. SACK allows SNOOP to recover from multi-segment
|
||
losses in one round-trip. In this case, the mobile device needs to
|
||
implement some form of selective acknowledgements. If SACK is not
|
||
used, TCP may enter congestion avoidance as the time needed to
|
||
retransmit the lost segments may be greater than the retransmission
|
||
timer.
|
||
|
||
Recommendation: Implement SACK now for compatibility with other TCPs
|
||
and improved performance with SNOOP.
|
||
|
||
4.7 Detecting Corruption Loss
|
||
|
||
4.7.1 Without Explicit Notification
|
||
|
||
In the absence of explicit notification from the network, some
|
||
researchers have suggested statistical methods for congestion
|
||
avoidance [Jain89, WC91, VEGAS]. A natural extension of these
|
||
heuristics would enable a sender to distinguish between losses caused
|
||
by congestion and other causes. The research results on the
|
||
reliability of sender-based heuristics is unfavorable [BV97, BV98].
|
||
[BV98a] reports better results in constrained environments using
|
||
packet inter-arrival times measured at the receiver, but highly-
|
||
variable delay - of the type encountered in wireless environments
|
||
during intercell handoff - confounds these heuristics.
|
||
|
||
Recommendation: No recommendation at this time - continue to monitor
|
||
research results.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 19]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
4.7.2 With Explicit Notifications
|
||
|
||
With explicit notification from the network it is possible to
|
||
determine when a loss is due to congestion. Several proposals along
|
||
these lines include:
|
||
|
||
- Explicit Loss Notification (ELN) [BPSK96]
|
||
|
||
- Explicit Bad State Notification (EBSN) [BBKVP96]
|
||
|
||
- Explicit Loss Notification to the Receiver (ELNR), and Explicit
|
||
Delayed Dupack Activation Notification (EDDAN) (notifications
|
||
to mobile receiver) [MV97]
|
||
|
||
- Explicit Congestion Notification (ECN) [ECN]
|
||
|
||
Of these proposals, Explicit Congestion Notification (ECN) seems
|
||
closest to deployment on the Internet, and will provide some benefit
|
||
for TCP connections on long thin networks (as well as for all other
|
||
TCP connections).
|
||
|
||
Recommendation: No recommendation at this time. Schemes like ELNR and
|
||
EDDAN [MV97], in which the only systems that need to be modified are
|
||
the intermediate node and the mobile device, are slated for adoption
|
||
pending further research. However, this solution has some
|
||
limitations. Since the intermediate node must have access to the TCP
|
||
headers, the IP payload must not be encrypted.
|
||
|
||
ECN uses the TOS byte in the IP header to carry congestion
|
||
information (ECN-capable and Congestion-encountered). This byte is
|
||
not encrypted in IPSEC, so ECN can be used on TCP connections that
|
||
are encrypted using IPSEC.
|
||
|
||
Recommendation: Implement ECN. In spite of this, mechanisms for
|
||
explicit corruption notification are still relevant and should be
|
||
tracked.
|
||
|
||
Note: ECN provides useful information to avoid deteriorating further
|
||
a bad situation, but has some limitations for wireless applications.
|
||
Absence of packets marked with ECN should not be interpreted by ECN-
|
||
capable TCP connections as a green light for aggressive
|
||
retransmissions. On the contrary, during periods of extreme network
|
||
congestion routers may drop packets marked with explicit notification
|
||
because their buffers are exhausted - exactly the wrong time for a
|
||
host to begin retransmitting aggressively.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 20]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
4.8 Active Queue Management
|
||
|
||
As has been pointed out above, TCP responds to congestion by closing
|
||
down the window and invoking slow start. Long-delay networks take a
|
||
particularly long time to recover from this condition. Accordingly,
|
||
it is imperative to avoid congestion in LTNs. To remedy this, active
|
||
queue management techniques have been proposed as enhancements to
|
||
routers throughout the Internet [RED]. The primary motivation for
|
||
deployment of these mechanisms is to prevent "congestion collapse" (a
|
||
severe degradation in service) by controlling the average queue size
|
||
at the routers. As the average queue length grows, Random Early
|
||
Detection [RED] increases the possibility of dropping packets.
|
||
|
||
The benefits are:
|
||
|
||
- Reduce packet drops in routers. By dropping a few packets
|
||
before severe congestion sets in, RED avoids dropping bursts of
|
||
packets. In other words, the objective is to drop m packets
|
||
early to prevent n drops later on, where m is less than n.
|
||
|
||
- Provide lower delays. This follows from the smaller queue
|
||
sizes, and is particularly important for interactive
|
||
applications, for which the inherent delays of wireless links
|
||
already push the user experience to the limits of the non-
|
||
acceptable.
|
||
|
||
- Avoid lock-outs. Lack of resources in a router (and the
|
||
resultant packet drops) may, in effect, obliterate throughput
|
||
on certain connections. Because of active queue management, it
|
||
is more probable for an incoming packet to find available
|
||
buffer space at the router.
|
||
|
||
Active Queue Management has two components: (1) routers detect
|
||
congestion before exhausting their resources, and (2) they provide
|
||
some form of congestion indication. Dropping packets via RED is only
|
||
one example of the latter. Another way to indicate congestion is to
|
||
use ECN [ECN] as discussed above under "Detecting Corruption Loss:
|
||
With Explicit Notifications."
|
||
|
||
Recommendation: RED is currently being deployed in the Internet, and
|
||
LTNs should follow suit. ECN deployment should complement RED's.
|
||
|
||
4.9 Scheduling Algorithms
|
||
|
||
Active queue management helps control the length of the queues.
|
||
Additionally, a general solution requires replacing FIFO with other
|
||
scheduling algorithms that improve:
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 21]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
1. Fairness (by policing how different packet streams utilize the
|
||
available bandwidth), and
|
||
|
||
2. Throughput (by improving the transmitter's radio channel
|
||
utilization).
|
||
|
||
For example, fairness is necessary for interactive applications (like
|
||
telnet or web browsing) to coexist with bulk transfer sessions.
|
||
Proposals here include:
|
||
|
||
- Fair Queueing (FQ) [Demers90]
|
||
|
||
- Class-based Queueing (CBQ) [Floyd95]
|
||
|
||
Even if they are only implemented over the wireless link portion of
|
||
the communication path, these proposals are attractive in wireless
|
||
LTN environments, because new connections for interactive
|
||
applications can have difficulty starting when a bulk TCP transfer
|
||
has already stabilized using all available bandwidth.
|
||
|
||
In our base architecture described above, the mobile device typically
|
||
communicates directly with only one wireless peer at a given time:
|
||
the intermediate node. In some W-WANs, it is possible to directly
|
||
address other mobiles within the same cell. Direct communication
|
||
with each such wireless peer may traverse a spatially distinct path,
|
||
each of which may exhibit statistically independent radio link
|
||
characteristics. Channel State Dependent Packet Scheduling (CSDP)
|
||
[BBKT96] tracks the state of the various radio links (as defined by
|
||
the target devices), and gives preferential treatment to packets
|
||
destined for radio links in a "good" state. This avoids attempting to
|
||
transmit to (and expect acknowledgements from) a peer on a "bad"
|
||
radio link, thus improving throughput.
|
||
|
||
A further refinement of this idea suggests that both fairness and
|
||
throughput can be improved by combining a wireless-enhanced CBQ with
|
||
CSDP [FSS98].
|
||
|
||
Recommendation: No recommendation at this time, pending further
|
||
study.
|
||
|
||
4.10 Split TCP and Performance-Enhancing Proxies (PEPs)
|
||
|
||
Given the dramatic differences between the wired and the wireless
|
||
links, a very common approach is to provide some impedance matching
|
||
where the two different technologies meet: at the intermediate node.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 22]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
The idea is to replace an end-to-end TCP connection with two clearly
|
||
distinct connections: one across the wireless link, the other across
|
||
its wireline counterpart. Each of the two resulting TCP sessions
|
||
operates under very different networking characteristics, and may
|
||
adopt the policies best suited to its particular medium. For
|
||
example, in a specific LTN topology it may be desirable to modify TCP
|
||
Fast Retransmit to resend after the first duplicate ack and Fast
|
||
Recovery to not shrink the congestion window if the LTN link has an
|
||
extremely long RTT, is known to not reorder packets, and is not
|
||
subject to congestion. Moreover, on a long-delay link or on a link
|
||
with a relatively high bandwidth-delay product it may be desirable to
|
||
"slow-start" with a relatively large initial window, even larger than
|
||
four segments. While these kinds of TCP modifications can be
|
||
negotiated to be employed over the LTN link, they would not be
|
||
deployed end-to-end over the global Internet. In LTN topologies where
|
||
the underlying link characteristics are known, a various similar
|
||
types of performance enhancements can be employed without endangering
|
||
operations over the global Internet.
|
||
|
||
In some proposals, in addition to a PEP mechanism at the intermediate
|
||
node, custom protocols are used on the wireless link (for example,
|
||
[WAP], [YB94] or [MOWGLI]).
|
||
|
||
Even if the gains from using non-TCP protocols are moderate or
|
||
better, the wealth of research on optimizing TCP for wireless, and
|
||
compatibility with the Internet are compelling reasons to adopt TCP
|
||
on the wireless link (enhanced as suggested in section 5 below).
|
||
|
||
4.10.1 Split TCP Approaches
|
||
|
||
Split-TCP proposals include schemes like I-TCP [ITCP] and MTCP [YB94]
|
||
which achieve performance improvements by abandoning end-to-end
|
||
semantics.
|
||
|
||
The Mowgli architecture [MOWGLI] proposes a split approach with
|
||
support for various enhancements at all the protocol layers, not only
|
||
at the transport layer. Mowgli provides an option to replace the
|
||
TCP/IP core protocols on the LTN link with a custom protocol that is
|
||
tuned for LTN links [KRLKA97]. In addition, the protocol provides
|
||
various features that are useful with LTNs. For example, it provides
|
||
priority-based multiplexing of concurrent connections together with
|
||
shared flow control, thus offering link capacity to interactive
|
||
applications in a timely manner even if there are bandwidth-intensive
|
||
background transfers. Also with this option, Mowgli preserves the
|
||
socket semantics on the mobile device so that legacy applications can
|
||
be run unmodified.
|
||
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 23]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
Employing split TCP approaches have several benefits as well as
|
||
drawbacks. Benefits related to split TCP approaches include the
|
||
following:
|
||
|
||
- Splitting the end-to-end TCP connection into two parts is a
|
||
straightforward way to shield the problems of the wireless link
|
||
from the wireline Internet path, and vice versa. Thus, a split TCP
|
||
approach enables applying local solutions to the local problems on
|
||
the wireless link. For example, it automatically solves the
|
||
problem of distinguishing congestion related packet losses on the
|
||
wireline Internet and packet losses due to transmission error on
|
||
the wireless link as these occur on separate TCP connections.
|
||
Even if both segments experience congestion, it may be of a
|
||
different nature and may be treated as such. Moreover, temporary
|
||
disconnections of the wireless link can be effectively shielded
|
||
from the wireline Internet.
|
||
|
||
- When one of the TCP connections crosses only a single hop wireless
|
||
link or a very limited number of hops, some or all link
|
||
characteristics for the wireless TCP path are known. For example,
|
||
with a particular link we may know that the link provides reliable
|
||
delivery of packets, packets are not delivered out of order, or
|
||
the link is not subject to congestion. Having this information for
|
||
the TCP path one could expect that defining the TCP mitigations to
|
||
be employed becomes a significantly easier task. In addition,
|
||
several mitigations that cannot be employed safely over the global
|
||
Internet, can be successfully employed over the wireless link.
|
||
|
||
- Splitting one TCP connection into two separate ones allows much
|
||
earlier deployment of various recent proposals to improve TCP
|
||
performance over wireless links; only the TCP implementations of
|
||
the mobile device and intermediate node need to be modified, thus
|
||
allowing the vast number of Internet hosts to continue running the
|
||
legacy TCP implementations unmodified. Any mitigations that would
|
||
require modification of TCP in these wireline hosts may take far
|
||
too long to become widely deployed.
|
||
|
||
- Allows exploitation of various application level enhancements
|
||
which may give significant performance gains (see section 4.10.2).
|
||
|
||
Drawbacks related to split TCP approaches include the following:
|
||
|
||
- One of the main criticisms against the split TCP approaches is
|
||
that it breaks TCP end-to-end semantics. This has various
|
||
drawbacks some of which are more severe than others. The most
|
||
detrimental drawback is probably that splitting the TCP connection
|
||
disables end-to-end usage of IP layer security mechanisms,
|
||
precluding the application of IPSec to achieve end-to-end
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 24]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
security. Still, IPSec could be employed separately in each of the
|
||
two parts, thus requiring the intermediate node to become a party
|
||
to the security association between the mobile device and the
|
||
remote host. This, however, is an undesirable or unacceptable
|
||
alternative in most cases. Other security mechanisms above the
|
||
transport layer, like TLS [RFC2246] or SOCKS [RFC1928], should be
|
||
employed for end-to-end security.
|
||
|
||
- Another drawback of breaking end-to-end semantics is that crashes
|
||
of the intermediate node become unrecoverable resulting in
|
||
termination of the TCP connections. Whether this should be
|
||
considered a severe problem depends on the expected frequency of
|
||
such crashes.
|
||
|
||
- In many occasions claims have been stated that if TCP end-to-end
|
||
semantics is broken, applications relying on TCP to provide
|
||
reliable data delivery become more vulnerable. This, however, is
|
||
an overstatement as a well-designed application should never fully
|
||
rely on TCP in achieving end-to-end reliability at the application
|
||
level. First, current APIs to TCP, such as the Berkeley socket
|
||
interface, do not allow applications to know when an TCP
|
||
acknowledgement for previously sent user data arrives at TCP
|
||
sender. Second, even if the application is informed of the TCP
|
||
acknowledgements, the sending application cannot know whether the
|
||
receiving application has received the data: it only knows that
|
||
the data reached the TCP receive buffer at the receiving end.
|
||
Finally, in order to achieve end-to-end reliability at the
|
||
application level an application level acknowledgement is required
|
||
to confirm that the receiver has taken the appropriate actions on
|
||
the data it received.
|
||
|
||
- When a mobile device moves, it is subject to handovers by the
|
||
serving base station. If the base station acts as the intermediate
|
||
node for the split TCP connection, the state of both TCP endpoints
|
||
on the previous intermediate node must be transferred to the new
|
||
intermediate node to ensure continued operation over the split TCP
|
||
connection. This requires extra work and causes overhead. However,
|
||
in most of the W-WAN wireless networks, unlike in W-LANs, the W-
|
||
WAN base station does not provide the mobile device with the
|
||
connection point to the wireline Internet (such base stations may
|
||
not even have an IP stack). Instead, the W-WAN network takes care
|
||
of the mobility and retains the connection point to the wireline
|
||
Internet unchanged while the mobile device moves. Thus, TCP state
|
||
handover is not required in most W-WANs.
|
||
|
||
- The packets traversing through all the protocol layers up to
|
||
transport layer and again down to the link layer result in extra
|
||
overhead at the intermediate node. In case of LTNs with low
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 25]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
bandwidth, this extra overhead does not cause serious additional
|
||
performance problems unlike with W-LANs that typically have much
|
||
higher bandwidth.
|
||
|
||
- Split TCP proposals are not applicable to networks with asymmetric
|
||
routing. Deploying a split TCP approach requires that traffic to
|
||
and from the mobile device be routed through the intermediate
|
||
node. With some networks, this cannot be accomplished, or it
|
||
requires that the intermediate node is located several hops away
|
||
from the wireless network edge which in turn is unpractical in
|
||
many cases and may result in non-optimal routing.
|
||
|
||
- Split TCP, as the name implies, does not address problems related
|
||
to UDP.
|
||
|
||
It should noted that using split TCP does not necessarily exclude
|
||
simultaneous usage of IP for end-to-end connectivity. Correct usage
|
||
of split TCP should be managed per application or per connection and
|
||
should be under the end-user control so that the user can decide
|
||
whether a particular TCP connection or application makes use of split
|
||
TCP or whether it operates end-to-end directly over IP.
|
||
|
||
Recommendation: Split TCP proposals that alter TCP semantics are not
|
||
recommended. Deploying custom protocols on the wireless link, such as
|
||
MOWGLI proposes is not recommended, because this note gives
|
||
preference to (1) improving TCP instead of designing a custom
|
||
protocol and (2) allowing end-to-end sessions at all times.
|
||
|
||
4.10.2 Application Level Proxies
|
||
|
||
Nowadays, application level proxies are widely used in the Internet.
|
||
Such proxies include Web proxy caches, relay MTAs (Mail Transfer
|
||
Agents), and secure transport proxies (e.g., SOCKS). In effect,
|
||
employing an application level proxy results in a "split TCP
|
||
connection" with the proxy as the intermediary. Hence, some of the
|
||
problems present with wireless links, such as combining of a
|
||
congested wide-area Internet path with a wireless LTN link, are
|
||
automatically alleviated to some extent.
|
||
|
||
The application protocols often employ plenty of (unnecessary) round
|
||
trips, lots of headers and inefficient encoding. Even unnecessary
|
||
data may get delivered over the wireless link in regular application
|
||
protocol operation. In many cases a significant amount of this
|
||
overhead can be reduced by simply running an application level proxy
|
||
on the intermediate node. With LTN links, significant additional
|
||
improvement can be achieved by introducing application level proxies
|
||
with application-specific enhancements. Such a proxy may employ an
|
||
enhanced version of the application protocol over the wireless link.
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 26]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
In an LTN environment enhancements at the application layer may
|
||
provide much more notable performance improvements than any transport
|
||
level enhancements.
|
||
|
||
The Mowgli system provides full support for adding application level
|
||
agent-proxy pairs between the client and the server, the agent on the
|
||
mobile device and the proxy on the intermediate node. Such a pair may
|
||
be either explicit or fully transparent to the applications, but it
|
||
is, at all times, under the end-user control. Good examples of
|
||
enhancements achieved with application-specific proxies include
|
||
Mowgli WWW [LAKLR95], [LHKR96] and WebExpress [HL96], [CTCSM97].
|
||
|
||
Recommendation: Usage of application level proxies is conditionally
|
||
recommended: an application must be proxy enabled and the decision of
|
||
employing a proxy for an application must be under the user control
|
||
at all times.
|
||
|
||
4.10.3 Snoop and its Derivatives
|
||
|
||
Berkeley's SNOOP protocol [SNOOP] is a hybrid scheme mixing link-
|
||
layer reliability mechanisms with the split connection approach. It
|
||
is an improvement over split TCP approaches in that end-to-end
|
||
semantics are retained. SNOOP does two things:
|
||
|
||
1. Locally (on the wireless link) retransmit lost packets, instead
|
||
of allowing TCP to do so end-to-end.
|
||
|
||
2. Suppress the duplicate acks on their way from the receiver back
|
||
to the sender, thus avoiding fast retransmit and congestion
|
||
avoidance at the latter.
|
||
|
||
Thus, the Snoop protocol is designed to avoid unnecessary fast
|
||
retransmits by the TCP sender, when the wireless link layer
|
||
retransmits a packet locally. Consider a system that does not use the
|
||
Snoop agent. Consider a TCP sender S that sends packets to receiver R
|
||
via an intermediate node IN. Assume that the sender sends packet A,
|
||
B, C, D, E (in that order) which are forwarded by IN to the wireless
|
||
receiver R. Assume that the intermediate node then retransmits B
|
||
subsequently, because the first transmission of packet B is lost due
|
||
to errors on the wireless link. In this case, receiver R receives
|
||
packets A, C, D, E and B (in that order). Receipt of packets C, D and
|
||
E triggers duplicate acknowledgements. When the TCP sender receives
|
||
three duplicate acknowledgements, it triggers fast retransmit (which
|
||
results in a retransmission, as well as reduction of congestion
|
||
window). The fast retransmit occurs despite the link level
|
||
retransmit on the wireless link, degrading throughput.
|
||
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 27]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
SNOOP [SNOOP] deals with this problem by dropping TCP dupacks
|
||
appropriately (at the intermediate node). The Delayed Dupacks (see
|
||
section 4.5) attempts to approximate Snoop without requiring
|
||
modifications at the intermediate node. Such schemes are needed only
|
||
if the possibility of a fast retransmit due to wireless errors is
|
||
non-negligible. In particular, if the wireless link uses a stop-and-
|
||
go protocol (or otherwise delivers packets in-order), then these
|
||
schemes are not very beneficial. Also, if the bandwidth-delay
|
||
product of the wireless link is smaller than four segments, the
|
||
probability that the intermediate node will have an opportunity to
|
||
send three new packets before a lost packet is retransmitted is
|
||
small. Since at least three dupacks are needed to trigger a fast
|
||
retransmit, with a wireless bandwidth-delay product less than four
|
||
packets, schemes such as Snoop and Delayed Dupacks would not be
|
||
necessary (unless the link layer is not designed properly).
|
||
Conversely, when the wireless bandwidth-delay product is large
|
||
enough, Snoop can provide significant performance improvement
|
||
(compared with standard TCP). For further discussion on these topics,
|
||
please refer to [Vaidya99].
|
||
|
||
The Delayed Dupacks scheme tends to provide performance benefit in
|
||
environments where Snoop performs well. In general, performance
|
||
improvement achieved by the Delayed Dupacks scheme is a function of
|
||
packet loss rates due to congestion and transmission errors. When
|
||
congestion-related losses occur, the Delayed Dupacks scheme
|
||
unnecessarily delays retransmission. Thus, in the presence of
|
||
congestion losses, the Delayed Dupacks scheme cannot achieve the same
|
||
performance improvement as Snoop. However, simulation results
|
||
[Vaidya99] indicate that the Delayed Dupacks can achieve a
|
||
significant improvement in performance despite moderate congestion
|
||
losses.
|
||
|
||
WTCP [WTCP] is similar to SNOOP in that it preserves end-to-end
|
||
semantics. In WTCP, the intermediate node uses a complex scheme to
|
||
hide the time it spends recovering from local errors across the
|
||
wireless link (this typically includes retransmissions due to error
|
||
recovery, but may also include time spent dealing with congestion).
|
||
The idea is for the sender to derive a smooth estimate of round-trip
|
||
time. In order to work effectively, it assumes that the TCP
|
||
endpoints implement the Timestamps option in RFC 1323 [TCPHP].
|
||
Unfortunately, support for RFC 1323 in TCP implementations is not yet
|
||
widespread. Beyond this, WTCP requires changes only at the
|
||
intermediate node.
|
||
|
||
SNOOP and WTCP require the intermediate node to examine and operate
|
||
on the traffic between the portable wireless device and the TCP
|
||
server on the wired Internet. SNOOP and WTCP do not work if the IP
|
||
traffic is encrypted, unless, of course, the intermediate node shares
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 28]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
the security association between the mobile device and its end-to-end
|
||
peer. They also require that both the data and the corresponding
|
||
ACKs traverse the same intermediate node. Furthermore, if the
|
||
intermediate node retransmits packets at the transport layer across
|
||
the wireless link, this may duplicate efforts by the link-layer.
|
||
SNOOP has been described by its designers as a TCP-aware link-layer.
|
||
This is the right approach: the link and network layers can be much
|
||
more aware of each other than traditional OSI layering suggests.
|
||
|
||
Encryption of IP packets via IPSEC's ESP header (in either transport
|
||
or tunnel mode) renders the TCP header and payload unintelligible to
|
||
the intermediate node. This precludes SNOOP (and WTCP) from working,
|
||
because it needs to examine the TCP headers in both directions.
|
||
Possible solutions involve:
|
||
|
||
- making the SNOOP (or WTCP) intermediate node a party to the
|
||
security association between the client and the server
|
||
|
||
- IPSEC tunneling mode, terminated at the SNOOPing intermediate node
|
||
|
||
However, these techniques require that users trust intermediate
|
||
nodes. Users valuing both privacy and performance should use SSL or
|
||
SOCKS for end-to-end security. These, however, are implemented above
|
||
the transport layer, and are not as resistant to some security
|
||
attacks (for example, those based on guessing TCP sequence numbers)
|
||
as IPSEC.
|
||
|
||
Recommendation: Implement SNOOP on intermediate nodes now. Research
|
||
results are encouraging, and it is an "invisible" optimization in
|
||
that neither the client nor the server needs to change, only the
|
||
intermediate node (for basic SNOOP without SACK). However, as
|
||
discussed above there is little or no benefit from implementing SNOOP
|
||
if:
|
||
|
||
1. The wireless link provides reliable, in-order packet delivery,
|
||
or,
|
||
|
||
2. The bandwidth-delay product of the wireless link is smaller
|
||
than four segments.
|
||
|
||
4.10.4 PEPs to handle Periods of Disconnection
|
||
|
||
Periods of disconnection are very common in wireless networks, either
|
||
during handoff, due to lack of resources (dropped connections) or
|
||
natural obstacles. During these periods, a TCP sender does not
|
||
receive the expected acknowledgements. Upon expiration of the
|
||
retransmit timer, this causes TCP to close its congestion window
|
||
with all the related drawbacks. Re-transmitting packets is useless
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 29]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
since the connection is broken. [M-TCP] aims at enabling TCP to
|
||
better handle handoffs and periods of disconnection, while preserving
|
||
end-to-end semantics. M-TCP adds an element: supervisor host (SH-
|
||
TCP) at the edge of the wireless network.
|
||
|
||
This intermediate node monitors the traffic coming from the sender to
|
||
the mobile device. It does not break end-to-end semantics because the
|
||
ACKs sent from the intermediate node to the sender are effectively
|
||
the ones sent by the mobile node. The principle is to generally leave
|
||
the last byte unacknowledged. Hence, SH-TCP could shut down the
|
||
sender's window by sending the ACK for the last byte with a window
|
||
set to zero. Thus the sender will go to persist mode.
|
||
|
||
The second optimization is done on both the intermediate node and the
|
||
mobile host. On the latter, TCP is aware of the current state of the
|
||
connection. In the event of a disconnection, it is capable of
|
||
freezing all timers. Upon reconnection, the mobile sends a specially
|
||
marked ACK with the number of the highest byte received. The
|
||
intermediate node assumes that the mobile is disconnected because it
|
||
monitors the flow on the wireless link, so in the absence of
|
||
acknowledgments from the mobile, it will inform SH-TCP, which will
|
||
send the ACK closing the sender window as described in the previous
|
||
paragraph. The intermediate node learns that the mobile is again
|
||
connected when it receives a duplicate acknowledgment marked as
|
||
reconnected. At this point it sends a duplicate ACK to the sender
|
||
and grows the window. The sender exits persist mode and resumes
|
||
transmitting at the same rate as before. It begins by retransmitting
|
||
any data previously unacknowledged by the mobile node. Non
|
||
overlapping or non soft handoffs are lightweight because the previous
|
||
intermediate system can shrink the window, and the new one modifies
|
||
it as soon as it has received an indication from the mobile.
|
||
|
||
Recommendation: M-TCP is not slated for adoption at this moment,
|
||
because of the highly experimental nature of the proposal, and the
|
||
uncertainty that TCP/IP implementations handle zero window updates
|
||
correctly. Continue tracking developments in this space.
|
||
|
||
4.11 Header Compression Alternatives
|
||
|
||
Because Long Thin Networks are bandwidth-constrained, compressing
|
||
every byte out of over-the-air segments is worth while.
|
||
|
||
Mechanisms for TCP and IP header compression defined in [RFC1144,
|
||
IPHC, IPHC-RTP, IPHC-PPP] provide the following benefits:
|
||
|
||
- Improve interactive response time
|
||
|
||
- Allow using small packets for bulk data with good line efficiency
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 30]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
- Allow using small packets for delay sensitive low data-rate
|
||
traffic
|
||
|
||
- Decrease header overhead (for a common TCP segment size of 512
|
||
the header overhead of IPv4/TCP within a Mobile IP tunnel can
|
||
decrease from 11.7 to less than 1 per cent.
|
||
|
||
- Reduce packet loss rate over lossy links (because of the
|
||
smaller cross-section of compressed packets).
|
||
|
||
Van Jacobson (VJ) header compression [RFC1144] describes a Proposed
|
||
Standard for TCP Header compression that is widely deployed. It uses
|
||
TCP timeouts to detect a loss of synchronization between the
|
||
compressor and decompressor. [IPHC] includes an explicit request for
|
||
transmission of uncompressed headers to allow resynchronization
|
||
without waiting for a TCP timeout (and executing congestion avoidance
|
||
procedures).
|
||
|
||
Recommendation: Implement [IPHC], in particular as it relates to IP-
|
||
in-IP [RFC2003] and Minimal Encapsulation [RFC2004] for Mobile IP, as
|
||
well as TCP header compression for lossy links and links that
|
||
reorder packets. PPP capable devices should implement [IPHC-PPP]. VJ
|
||
header compression may optionally be implemented as it is a widely
|
||
deployed Proposed Standard. However, it should only be enabled when
|
||
operating over reliable LTNs, because even a single bit error most
|
||
probably would result in a full TCP window being dropped, followed by
|
||
a costly recovery via slow-start.
|
||
|
||
4.12 Payload Compression
|
||
|
||
Compression of IP payloads is also desirable. "IP Payload Compression
|
||
Protocol (IPComp)" [IPPCP] defines a framework where common
|
||
compression algorithms can be applied to arbitrary IP segment
|
||
payloads. IP payload compression is something of a niche
|
||
optimization. It is necessary because IP-level security converts IP
|
||
payloads to random bitstreams, defeating commonly-deployed link-layer
|
||
compression mechanisms which are faced with payloads that have no
|
||
redundant "information" that can be more compactly represented.
|
||
|
||
However, many IP payloads are already compressed (images, audio,
|
||
video, "zipped" files being FTPed), or are already encrypted above
|
||
the IP layer (SSL/TLS, etc.). These payloads will not "compress"
|
||
further, limiting the benefit of this optimization.
|
||
|
||
HTTP/1.1 already supports compression of the message body. For
|
||
example, to use zlib compression the relevant directives are:
|
||
"Content-Encoding: deflate" and "Accept-Encoding: deflate" [HTTP-
|
||
PERF].
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 31]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
HTTP-NG is considering supporting compression of resources at the
|
||
HTTP level, which would provide equivalent benefits for common
|
||
compressible MIME types like text/html. This will reduce the need for
|
||
IPComp. If IPComp is deployed more rapidly than HTTP-NG, IPComp
|
||
compression of HTML and MIME headers would be beneficial.
|
||
|
||
In general, application-level compression can often outperform
|
||
IPComp, because of the opportunity to use compression dictionaries
|
||
based on knowledge of the specific data being compressed.
|
||
|
||
Recommendation: IPComp may optionally be implemented. Track HTTP-NG
|
||
standardization and deployment for now. Implementing HTTP/1.1
|
||
compression using zlib SHOULD is recommended.
|
||
|
||
4.13 TCP Control Block Interdependence [Touch97]
|
||
|
||
TCP maintains per-connection information such as connection state,
|
||
current round-trip time, congestion control or maximum segment size.
|
||
Sharing information between two consecutive connections or when
|
||
creating a new connection while the first is still active to the same
|
||
host may improve performance of the latter connection. The principle
|
||
could easily be extended to sharing information amongst systems in a
|
||
LAN not just within a given system. [Touch97] describes cache update
|
||
for both cases.
|
||
|
||
Users of W-WAN devices frequently request connections to the same
|
||
servers or set of servers. For example, in order to read their email
|
||
or to initiate connections to other servers, the devices may be
|
||
configured to always use the same email server or WWW proxy. The
|
||
main advantage of this proposal is that it relieves the application
|
||
of the burden of optimizing the transport layer. In order to improve
|
||
the performance of TCP connections, this mechanism only requires
|
||
changes at the wireless device.
|
||
|
||
In general, this scheme should improve the dynamism of connection
|
||
setup without increasing the cost of the implementation.
|
||
|
||
Recommendation: This mechanism is recommended, although HTTP/1.1 with
|
||
its persistent connections may partially achieve the same effect
|
||
without it. Other applications (even HTTP/1.0) may find it useful.
|
||
Continue monitoring research on this. In particular, work on a
|
||
"Congestion Manager" [CM] may generalize this concept of sharing
|
||
information among protocols and applications with a view to making
|
||
them more adaptable to network conditions.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 32]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
5 Summary of Recommended Optimizations
|
||
|
||
The table below summarizes our recommendations with regards to the
|
||
main proposals mentioned above.
|
||
|
||
The first column, "Stability of the Proposal," refers to the maturity
|
||
of the mechanism in question. Some proposals are being pursued
|
||
within the IETF in a somewhat open fashion. An IETF proposal is
|
||
either an Internet Drafts (I-D) or a Request for Comments (RFC). The
|
||
former is a preliminary version. There are several types of RFCs. A
|
||
Draft Standards (DS) is standards track, and carries more weight than
|
||
a Proposed Standard (PS), which may still undergo revisions.
|
||
Informational or Experimental RFCs do not specify a standard. Other
|
||
proposals are isolated efforts with little or no public review, and
|
||
unknown chances of garnering industry backing.
|
||
|
||
"Implemented at" indicates which participant in a TCP session must be
|
||
modified to implement the proposal. Legacy servers typically cannot
|
||
be modified, so this column indicates whether implementation happens
|
||
at either or both of the two nodes under some control: mobile device
|
||
and intermediate node. The symbols used are: WS (wireless sender,
|
||
that is, the mobile device's TCP send operation must be modified), WR
|
||
(wireless receiver, that is, the mobile device's TCP receive
|
||
operation must be modified), WD (wireless device, that is,
|
||
modifications at the mobile device are not specific to either TCP
|
||
send or receive), IN (intermediate node) and NI (network
|
||
infrastructure). These entities are to be understood within the
|
||
context of Section 1.1 ("Network Architecture"). NA simply means "not
|
||
applicable."
|
||
|
||
The "Recommendation" column captures our suggestions. Some
|
||
mechanisms are endorsed for immediate adoption, others need more
|
||
evidence and research, and others are not recommended.
|
||
|
||
Name Stability of Implemented Recommendation
|
||
the Proposal at
|
||
==================== ============= =========== =================
|
||
|
||
Increased Initial RFC 2581 (PS) WS Yes
|
||
Window (initial_window=2)
|
||
|
||
Disable delayed ACKs NA WR When stable
|
||
during slow start
|
||
|
||
Byte counting NA WS No
|
||
instead of ACK
|
||
counting
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 33]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
TCP Header RFC 1144 (PS) WD Yes
|
||
compression for PPP IN (see 4.11)
|
||
|
||
IP Payload RFC 2393 (PS) WD Yes
|
||
Compression (simultaneously
|
||
(IPComp) needed on Server)
|
||
|
||
Header RFC 2507 (PS), WD Yes
|
||
Compression RFC 2509 (PS) IN (For IPv4, TCP and
|
||
Mobile IP, PPP)
|
||
|
||
SNOOP plus SACK In limited use IN Yes
|
||
WD (for SACK)
|
||
|
||
Fast retransmit/fast RFC 2581 (PS) WD Yes (should be
|
||
recovery there already)
|
||
|
||
Transaction/TCP RFC 1644 WD No
|
||
(Experimental) (simultaneously
|
||
needed on Server)
|
||
|
||
Estimating Slow NA WS No
|
||
Start Threshold
|
||
(ssthresh)
|
||
|
||
Delayed Duplicate Not stable WR When stable
|
||
Acknowledgements IN (for
|
||
notifications)
|
||
|
||
Class-based Queuing NA WD When stable
|
||
on End Systems
|
||
|
||
Explicit Congestion RFC 2481 (EXP) WD Yes
|
||
|
||
Notification NI
|
||
|
||
TCP Control Block RFC 2140 WD Yes
|
||
Interdependence (Informational) (Track research)
|
||
|
||
|
||
Of all the optimizations in the table above, only SNOOP plus SACK and
|
||
Delayed duplicate acknowledgements are currently being proposed only
|
||
for wireless networks. The others are being considered even for non-
|
||
wireless applications. Their more general applicability attracts more
|
||
attention and analysis from the research community.
|
||
|
||
Of the above mechanisms, only Header Compression (for IP and TCP) and
|
||
"SNOOP plus SACK" cease to work in the presence of IPSec.
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 34]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
6 Conclusion
|
||
|
||
In view of the unpredictable and problematic nature of long thin
|
||
networks, arriving at an optimized transport is a daunting task. We
|
||
have reviewed the existing proposals along with future research
|
||
items. Based on this overview, we also recommend mechanisms for
|
||
implementation in long thin networks (LTNs).
|
||
|
||
7 Acknowledgements
|
||
|
||
The authors are deeply indebted to the IETF tcpsat and tcpimpl
|
||
working groups. The following individuals have also provided valuable
|
||
feedback: Mark Allman (NASA), Vern Paxson (ACIRI), Raphi Rom
|
||
(Technion/Sun), Charlie Perkins (Nokia), Peter Stark (Phone.com).
|
||
|
||
8 Security Considerations
|
||
|
||
The mechanisms discussed and recommended in this document have been
|
||
proposed in previous publications. The security considerations
|
||
outlined in the original discussions apply here as well. Several
|
||
security issues are also discussed throughout this document.
|
||
Additionally, we present below a non-exhaustive list of the most
|
||
salient issues concerning our recommended mechanisms:
|
||
|
||
- Larger Initial TCP Window Size
|
||
|
||
No known security issues [RFC2414, RFC2581].
|
||
|
||
- Header Compression
|
||
|
||
May be open to some denial of service attacks. But any attacker in
|
||
a position to launch these attacks would have much stronger
|
||
attacks at his disposal [IPHC, IPHC-RTP].
|
||
|
||
- Congestion Control, Fast Retransmit/Fast Recovery
|
||
|
||
An attacker may force TCP connections to grind to a halt, or, more
|
||
dangerously, behave more aggressively. The latter possibility may
|
||
lead to congestion collapse, at least in some regions of the
|
||
network [RFC2581].
|
||
|
||
- Explicit Congestion Notification
|
||
|
||
It does not appear to increase the vulnerabilities in the network.
|
||
On the contrary, it may reduce them by aiding in the
|
||
identification of flows unresponsive to or non-compliant with TCP
|
||
congestion control [ECN].
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 35]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
- Sharing of Network Performance Information (TCP Control Block
|
||
Sharing and Congestion Manager module)
|
||
|
||
Some information should not be shared. For example, TCP sequence
|
||
numbers are used to protect against spoofing attacks. Even
|
||
limiting the sharing to performance values leaves open the
|
||
possibility of denial-of-service attacks [Touch97].
|
||
|
||
- Performance Enhancing Proxies
|
||
|
||
These systems are men-in-the-middle from the point of view of
|
||
their security vulnerabilities. Accordingly, they must be used
|
||
with extreme care so as to prevent their being hijacked and
|
||
misused.
|
||
|
||
This last point is not to be underestimated: there is a general
|
||
security concern whenever an intermediate node performs operations
|
||
different from those carried out in an end-to-end basis. This is not
|
||
specific to performance-enhancing proxies. In particular, there may
|
||
be a tendency to forego IPSEC-based privacy in order to allow, for
|
||
example, a SNOOP module, header compression (TCP, UDP, RTP, etc), or
|
||
HTTP proxies to work.
|
||
|
||
Adding end-to-end security at higher layers (for example via RTP
|
||
encryption, or via TLS encryption of the TCP payload) alleviates the
|
||
problem. However, this still leaves protocol headers in the clear,
|
||
and these may be exploited for traffic analysis and denial-of-service
|
||
attacks.
|
||
|
||
9 References
|
||
|
||
[ACKSPACING] Partridge, C., "ACK Spacing for High Delay-Bandwidth
|
||
Paths with Insufficient Buffering", Work in Progress.
|
||
|
||
[ADGGHOSSTT98] Allman, M., Dawkins, S., Glover, D., Griner, J.,
|
||
Henderson, T., Heidemann, J., Kruse, H., Osterman, S.,
|
||
Scott, K., Semke, J., Touch, J. and D. Tran, "Ongoing
|
||
TCP Research Related to Satellites", Work in Progress.
|
||
|
||
[AGS98] Allman, M., Glover, D. and L. Sanchez, "Enhancing TCP
|
||
Over Satellite Channels using Standard Mechanisms",
|
||
BCP 28, RFC 2488, January 1999.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 36]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
[Allman98] Mark Allman. On the Generation and Use of TCP
|
||
Acknowledgments. ACM Computer Communication Review,
|
||
28(5), October 1998.
|
||
|
||
[AHO98] Allman, M., Hayes, C., Ostermann, S., "An Evaluation
|
||
of TCP with Larger Initial Windows," Computer
|
||
Communication Review, 28(3), July 1998.
|
||
|
||
[BBKT96] Bhagwat, P., Bhattacharya, P., Krishna, A., Tripathi,
|
||
S., "Enhancing Throughput over Wireless LANs Using
|
||
Channel State Dependent Packet Scheduling," in Proc.
|
||
IEEE INFOCOM'96, pp. 1133-40, March 1996.
|
||
|
||
[BBKVP96] Bakshi, B., P., Krishna, N., Vaidya, N., Pradhan,
|
||
D.K., "Improving Performance of TCP over Wireless
|
||
Networks," Technical Report 96-014, Texas A&M
|
||
University, 1996.
|
||
|
||
[BPSK96] Balakrishnan, H., Padmanabhan, V., Seshan, S., Katz,
|
||
R., "A Comparison of Mechanisms for Improving TCP
|
||
Performance over Wireless Links," in ACM SIGCOMM,
|
||
Stanford, California, August 1996.
|
||
|
||
[BPK99] Balakrishnan, H., Padmanabhan, V., Katz, R., "The
|
||
effects of asymmetry on TCP performance," ACM Mobile
|
||
Networks and Applications (MONET), Vol. 4, No. 3,
|
||
1999, pp. 219-241.
|
||
|
||
[BV97] S. Biaz and N. H. Vaidya, "Distinguishing Congestion
|
||
Losses from Wireless Transmission Losses: A Negative
|
||
Result," Seventh International Conference on Computer
|
||
Communications and Networks (IC3N), New Orleans,
|
||
October 1998.
|
||
|
||
[BV98] Biaz, S., Vaidya, N., "Sender-Based heuristics for
|
||
Distinguishing Congestion Losses from Wireless
|
||
Transmission Losses," Texas A&M University, Technical
|
||
Report 98-013, June 1998.
|
||
|
||
[BV98a] Biaz, S., Vaidya, N., "Discriminating Congestion
|
||
Losses from Wireless Losses using Inter-Arrival Times
|
||
at the Receiver," Texas A&M University, Technical
|
||
Report 98-014, June 1998.
|
||
|
||
[BW97] Brasche, G., Walke, B., "Concepts, Services, and
|
||
Protocols of the New GSM Phase 2+ general Packet Radio
|
||
Service," IEEE Communications Magazine, Vol. 35, No.
|
||
8, August 1997.
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 37]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
[CB96] Cheshire, S., Baker, M., "Experiences with a Wireless
|
||
Network in MosquitoNet," IEEE Micro, February 1996.
|
||
Available online as:
|
||
http://rescomp.stanford.edu/~cheshire/papers
|
||
/wireless.ps.
|
||
|
||
[CDMA] Electronic Industry Alliance(EIA)/Telecommunications
|
||
Industry Association (TIA), IS-95: Mobile Station-Base
|
||
Station Compatibility Standard for Dual-Mode Wideband
|
||
Spread Spectrum Cellular System, 1993.
|
||
|
||
[CDPD] Wireless Data Forum, CDPD System Specification,
|
||
Release 1.1, 1995.
|
||
|
||
[CM] Hari Balakrishnan and Srinivasan Seshan, "The
|
||
Congestion Manager," Work in Progress.
|
||
|
||
[CTCSM97] Chang, H., Tait, C., Cohen, N., Shapiro, M.,
|
||
Mastrianni, S., Floyd, R., Housel, B., Lindquist, D.,
|
||
"Web Browsing in a Wireless Environment: Disconnected
|
||
and Asynchronous Operation in ARTour Web Express," in
|
||
Proc. MobiCom'97, Budapest, Hungary, September 1997.
|
||
|
||
[Demers90] Demers, A., Keshav, S., and Shenker, S., Analysis and
|
||
Simulation of a Fair Queueing Algorithm,
|
||
Internetworking: Research and Experience, Vol. 1,
|
||
1990, pp. 3-26.
|
||
|
||
[ECN] Ramakrishnan, K. and S. Floyd, "A Proposal to add
|
||
Explicit Congestion Notification (ECN) to IP", RFC
|
||
2481, January 1999.
|
||
|
||
[Floyd95] Floyd, S., and Jacobson, V., Link-sharing and Resource
|
||
Management Models for Packet Networks. IEEE/ACM
|
||
Transactions on Networking, Vol. 3 No. 4, pp. 365-386,
|
||
August 1995.
|
||
|
||
[FSS98] Fragouli, C., Sivaraman, V., Srivastava, M.,
|
||
"Controlled Multimedia Wireless Link Sharing via
|
||
Enhanced Class-Based Queueing with Channel-State-
|
||
Dependent Packet Scheduling," Proc. IEEE INFOCOM'98,
|
||
April 1998.
|
||
|
||
[GPRS] ETSI, "General Packet Radio Service (GPRS): Service
|
||
Description, Stage 2," GSM03.60, v.6.1.1 August 1998.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 38]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
[GSM] Rahnema, M., "Overview of the GSM system and protocol
|
||
architecture," IEEE Communications Magazine, vol. 31,
|
||
pp 92-100, April 1993.
|
||
|
||
[HL96] Hausel, B., Lindquist, D., "WebExpress: A System for
|
||
Optimizing Web Browsing in a Wireless Environment," in
|
||
Proc. MobiCom'96, Rye, New York, USA, November 1996.
|
||
|
||
[HTTP-PERF] Henrik Frystyk Nielsen (W3C, MIT), Jim Gettys (W3C,
|
||
Digital), Anselm Baird-Smith (W3C, INRIA), Eric
|
||
Prud'hommeaux (W3C, MIT), Hon Lie (W3C, INRIA), Chris
|
||
Lilley (W3C, INRIA), "Network Performance Effects of
|
||
HTTP/1.1, CSS1, and PNG," ACM SIGCOMM '97, Cannes,
|
||
France, September 1997. Available at:
|
||
http://www.w3.org/Protocols/HTTP/Performance
|
||
/Pipeline.html
|
||
|
||
[IPPCP] Shacham, A., Monsour, R., Pereira, R. and M. Thomas,
|
||
"IP Payload Compression Protocol (IPComp)", RFC 2393,
|
||
December 1998.
|
||
|
||
[IPHC] Degermark, M., Nordgren, B. and S. Pink, "IP Header
|
||
Compression", RFC 2507, February 1999.
|
||
|
||
[IPHC-RTP] Casner, S. and V. Jacobson, "Compressing IP/UDP/RTP
|
||
Headers for Low-Speed Serial Links", RFC 2508,
|
||
February 1999.
|
||
|
||
[IPHC-PPP] Engan, M., Casner, S. and C. Bormann, "IP Header
|
||
Compression over PPP", RFC 2509, February 1999.
|
||
|
||
[ITCP] Bakre, A., Badrinath, B.R., "Handoff and Systems
|
||
Support for Indirect TCP/IP. In Proceedings of the
|
||
Second USENIX Symposium on Mobile and Location-
|
||
Independent Computing, Ann Arbor, Michigan, April 10-
|
||
11, 1995.
|
||
|
||
[Jain89] Jain, R., "A Delay-Based Approach for Congestion
|
||
Avoidance in Interconnected Heterogeneous Computer
|
||
Networks," Digital Equipment Corporation, Technical
|
||
Report DEC-TR-566, April 1989.
|
||
|
||
[Karn93] Karn, P., "The Qualcomm CDMA Digital Cellular System"
|
||
Proc. USENIX Mobile and Location-Independent Computing
|
||
Symposium, USENIX Association, August 1993.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 39]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
[KRLKA97] Kojo, M., Raatikainen, K., Liljeberg, M., Kiiskinen,
|
||
J., Alanko, T., "An Efficient Transport Service for
|
||
Slow Wireless Telephone Links," in IEEE Journal on
|
||
Selected Areas of Communication, volume 15, number 7,
|
||
September 1997.
|
||
|
||
[LAKLR95] Liljeberg, M., Alanko, T., Kojo, M., Laamanen, H.,
|
||
Raatikainen, K., "Optimizing World-Wide Web for
|
||
Weakly-Connected Mobile Workstations: An Indirect
|
||
Approach," in Proc. 2nd Int. Workshop on Services in
|
||
Distributed and Networked Environments, Whistler,
|
||
Canada, pp. 132-139, June 1995.
|
||
|
||
[LHKR96] Liljeberg, M., Helin, H., Kojo, M., Raatikainen, K.,
|
||
"Mowgli WWW Software: Improved Usability of WWW in
|
||
Mobile WAN Environments," in Proc. IEEE Global
|
||
Internet 1996 Conference, London, UK, November 1996.
|
||
|
||
[LS98] Lettieri, P., Srivastava, M., "Adaptive Frame Length
|
||
Control for Improving Wireless Link Throughput, Range,
|
||
and Energy Efficiency," Proc. IEEE INFOCOM'98, April
|
||
1998.
|
||
|
||
[MNCP] Piscitello, D., Phifer, L., Wang, Y., Hovey, R.,
|
||
"Mobile Network Computing Protocol (MNCP)", Work in
|
||
Progress.
|
||
|
||
[MOWGLI] Kojo, M., Raatikainen, K., Alanko, T., "Connecting
|
||
Mobile Workstations to the Internet over a Digital
|
||
Cellular Telephone Network," in Proc. Workshop on
|
||
Mobile and Wireless Information Systems (MOBIDATA),
|
||
Rutgers University, NJ, November 1994. Available at:
|
||
http://www.cs.Helsinki.FI/research/mowgli/. Revised
|
||
version published in Mobile Computing, pp. 253-270,
|
||
Kluwer, 1996.
|
||
|
||
[MSMO97] Mathis, M., Semke, J., Mahdavi, J., Ott, T., "The
|
||
Macroscopic Behavior of the TCP Congestion Avoidance
|
||
Algorithm," in Computer Communications Review, a
|
||
publication of ACM SIGCOMM, volume 27, number 3, July
|
||
1997.
|
||
|
||
[MTCP] Brown, K. Singh, S., "A Network Architecture for
|
||
Mobile Computing," Proc. IEEE INFOCOM'96, pp. 1388-
|
||
1396, March 1996. Available at
|
||
ftp://ftp.ece.orst.edu/pub/singh/papers
|
||
/transport.ps.gz
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 40]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
[M-TCP] Brown, K. Singh, S., "M-TCP: TCP for Mobile Cellular
|
||
Networks," ACM Computer Communications Review Vol.
|
||
27(5), 1997. Available at
|
||
ftp://ftp.ece.orst.edu/pub/singh/papers/mtcp.ps.gz
|
||
|
||
[MV97] Mehta, M., Vaidya, N., "Delayed Duplicate-
|
||
Acknowledgements: A Proposal to Improve Performance
|
||
of TCP on Wireless Links," Texas A&M University,
|
||
December 24, 1997. Available at
|
||
http://www.cs.tamu.edu/faculty/vaidya/mobile.html
|
||
|
||
[NETBLT] White, J., "NETBLT (Network Block Transfer Protocol)",
|
||
Work in Progress.
|
||
|
||
[Paxson97] V. Paxson, "End-to-End Internet Packet Dynamics,"
|
||
Proc. SIGCOMM '97. Available at
|
||
ftp://ftp.ee.lbl.gov/papers/vp-pkt-dyn-sigcomm97.ps.Z
|
||
|
||
[RED] Braden, B., Clark, D., Crowcroft, J., Davie, B.,
|
||
Deering, S., Estrin, D., Floyd, S., Jacobson, V.,
|
||
Minshall, G., Partridge, C., Peterson, L.,
|
||
Ramakrishnan, K., Shenker, S., Wroclawski, J. and L.
|
||
Zhang, "Recommendations on Queue Management and
|
||
Congestion Avoidance in the Internet", RFC 2309, April
|
||
1998.
|
||
|
||
[RLP] ETSI, "Radio Link Protocol for Data and Telematic
|
||
Services on the Mobile Station - Base Station System
|
||
(MS-BSS) interface and the Base Station System -
|
||
Mobile Switching Center (BSS-MSC) interface," GSM
|
||
Specification 04.22, Version 3.7.0, February 1992.
|
||
|
||
[RFC908] Velten, D., Hinden, R. and J. Sax, "Reliable Data
|
||
Protocol", RFC 908, July 1984.
|
||
|
||
[RFC1030] Lambert, M., "On Testing the NETBLT Protocol over
|
||
Divers Networks", RFC 1030, November 1987.
|
||
|
||
[RFC1122] Braden, R., "Requirements for Internet Hosts --
|
||
Communication Layers", STD 3, RFC 1122, October 1989.
|
||
|
||
[RFC1144] Jacobson, V., "Compressing TCP/IP Headers for Low-
|
||
Speed Serial Links", RFC 1144, February 1990.
|
||
|
||
[RFC1151] Partridge, C., Hinden, R., "Version 2 of the Reliable
|
||
Data Protocol (RDP)", RFC 1151, April 1990.
|
||
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 41]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
[RFC1191] Mogul, J. and S. Deering, "Path MTU Discovery", RFC
|
||
1191, November 1990.
|
||
|
||
[RFC1397] Braden, R., "Extending TCP for Transactions --
|
||
Concepts", RFC 1397, November 1992.
|
||
|
||
[RFC1644] Braden, R., "T/TCP -- TCP Extensions for Transactions
|
||
Functional Specification", RFC 1644, July 1994.
|
||
|
||
[RFC1661] Simpson, W., "The Point-To-Point Protocol (PPP)", STD
|
||
51, RFC 1661, July 1994.
|
||
|
||
[RFC1928] Leech, M., Ganis, M., Lee, Y., Kuris, R., Koblas, D.
|
||
and L. Jones, "SOCKS Protocol Version 5", RFC 1928,
|
||
March 1996.
|
||
|
||
[RFC1986] Polites, W., Wollman, W., Woo, D. and R. Langan,
|
||
"Experiments with a Simple File Transfer Protocol for
|
||
Radio Links using Enhanced Trivial File Transfer
|
||
Protocol (ETFTP)", RFC 1986, August 1996.
|
||
|
||
[RFC2002] Perkins, C., "IP Mobility Support", RFC 2002, October
|
||
1996.
|
||
|
||
[RFC2003] Perkins, C., "IP Encapsulation within IP", RFC 2003,
|
||
October 1996.
|
||
|
||
[RFC2004] Perkins, C., "Minimal Encapsulation within IP", RFC
|
||
2004, October 1996.
|
||
|
||
[RFC2018] Mathis, M., Mahdavi, J., Floyd, S. and A. Romanow,
|
||
"TCP Selective Acknowledgment Options", RFC 2018,
|
||
October 1996.
|
||
|
||
[RFC2188] Banan, M., Taylor, M. and J. Cheng, "AT&T/Neda's
|
||
Efficient Short Remote Operations (ESRO) Protocol
|
||
Specification Version 1.2", RFC 2188, September 1997.
|
||
|
||
[RFC2246] Dierk, T. and E. Allen, "TLS Protocol Version 1", RFC
|
||
2246, January 1999.
|
||
|
||
[RFC2414] Allman, M., Floyd, S. and C. Partridge. "Increasing
|
||
TCP's Initial Window", RFC 2414, September 1998.
|
||
|
||
[RFC2415] Poduri, K.and K. Nichols, "Simulation Studies of
|
||
Increased Initial TCP Window Size", RFC 2415,
|
||
September 1998.
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 42]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
[RFC2416] Shepard, T. and C. Partridge, "When TCP Starts Up With
|
||
Four Packets Into Only Three Buffers", RFC 2416,
|
||
September 1998.
|
||
|
||
[RFC2581] Allman, M., Paxson, V. and W. Stevens, "TCP Congestion
|
||
Control", RFC 2581, April 1999.
|
||
|
||
[RFC2582] Floyd, S. and T. Henderson, "The NewReno Modification
|
||
to TCP's Fast Recovery Algorithm", RFC 2582, April
|
||
1999.
|
||
|
||
[SNOOP] Balakrishnan, H., Seshan, S., Amir, E., Katz, R.,
|
||
"Improving TCP/IP Performance over Wireless Networks,"
|
||
Proc. 1st ACM Conf. on Mobile Computing and Networking
|
||
(Mobicom), Berkeley, CA, November 1995.
|
||
|
||
[Stevens94] R. Stevens, "TCP/IP Illustrated, Volume 1," Addison-
|
||
Wesley, 1994 (section 2.10 for MTU size considerations
|
||
and section 11.3 for weak checksums).
|
||
|
||
[TCPHP] Jacobson, V., Braden, R. and D. Borman, "TCP
|
||
Extensions for High Performance", RFC 1323, May 1992.
|
||
|
||
[TCPSATMIN] TCPSAT Minutes, August, 1997. Available at:
|
||
http://tcpsat.lerc.nasa.gov/tcpsat/meetings/munich-
|
||
minutes.txt.
|
||
|
||
[Touch97] Touch, T., "TCP Control Block Interdependence", RFC
|
||
2140, April 1997.
|
||
|
||
[Vaidya99] N. H. Vaidya, M. Mehta, C. Perkins, G. Montenegro,
|
||
"Delayed Duplicate Acknowledgements: A TCP-Unaware
|
||
Approach to Improve Performance of TCP over Wireless,"
|
||
Technical Report 99-003, Computer Science Dept., Texas
|
||
A&M University, February 1999.
|
||
|
||
[VEGAS] Brakmo, L., O'Malley, S., "TCP Vegas, New Techniques
|
||
for Congestion Detection and Avoidance," SIGCOMM'94,
|
||
London, pp 24-35, October 1994.
|
||
|
||
[VMTP] Cheriton, D., "VMTP: Versatile Message Transaction
|
||
Protocol", RFC 1045, February 1988.
|
||
|
||
[WAP] Wireless Application Protocol Forum.
|
||
http://www.wapforum.org/
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 43]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
[WC91] Wang, Z., Crowcroft, J., "A New Congestion Control
|
||
Scheme: Slow Start and Search," ACM Computer
|
||
Communication Review, vol 21, pp 32-43, January 1991.
|
||
|
||
[WTCP] Ratnam, K., Matta, I., "WTCP: An Efficient
|
||
Transmission Control Protocol for Networks with
|
||
Wireless Links," Technical Report NU-CCS-97-11,
|
||
Northeastern University, July 1997. Available at:
|
||
http://www.ece.neu.edu/personal/karu/papers/WTCP-
|
||
NU.ps.gz
|
||
|
||
[YB94] Yavatkar, R., Bhagawat, N., "Improving End-to-End
|
||
Performance of TCP over Mobile Internetworks," Proc.
|
||
Workshop on Mobile Computing Systems and Applications,
|
||
IEEE Computer Society Press, Los Alamitos, California,
|
||
1994.
|
||
|
||
Authors' Addresses
|
||
|
||
Questions about this document may be directed at:
|
||
|
||
Gabriel E. Montenegro
|
||
Sun Labs Networking and Security Group
|
||
Sun Microsystems, Inc.
|
||
901 San Antonio Road
|
||
Mailstop UMPK 15-214
|
||
Mountain View, California 94303
|
||
|
||
Phone: +1-650-786-6288
|
||
Fax: +1-650-786-6445
|
||
EMail: gab@sun.com
|
||
|
||
|
||
Spencer Dawkins
|
||
Nortel Networks
|
||
P.O. Box 833805
|
||
Richardson, Texas 75083-3805
|
||
|
||
Phone: +1-972-684-4827
|
||
Fax: +1-972-685-3292
|
||
EMail: sdawkins@nortel.com
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 44]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
Markku Kojo
|
||
Department of Computer Science
|
||
University of Helsinki
|
||
P.O. Box 26 (Teollisuuskatu 23)
|
||
FIN-00014 HELSINKI
|
||
Finland
|
||
|
||
Phone: +358-9-1914-4179
|
||
Fax: +358-9-1914-4441
|
||
EMail: kojo@cs.helsinki.fi
|
||
|
||
|
||
Vincent Magret
|
||
Corporate Research Center
|
||
Alcatel Network Systems, Inc
|
||
1201 Campbell
|
||
Mail stop 446-310
|
||
Richardson Texas 75081 USA
|
||
M/S 446-310
|
||
|
||
Phone: +1-972-996-2625
|
||
Fax: +1-972-996-5902
|
||
EMail: vincent.magret@aud.alcatel.com
|
||
|
||
|
||
Nitin Vaidya
|
||
Dept. of Computer Science
|
||
Texas A&M University
|
||
College Station, TX 77843-3112
|
||
|
||
Phone: 979-845-0512
|
||
Fax: 979-847-8578
|
||
EMail: vaidya@cs.tamu.edu
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 45]
|
||
|
||
RFC 2757 Long Thin Networks January 2000
|
||
|
||
|
||
Full Copyright Statement
|
||
|
||
Copyright (C) The Internet Society (2000). All Rights Reserved.
|
||
|
||
This document and translations of it may be copied and furnished to
|
||
others, and derivative works that comment on or otherwise explain it
|
||
or assist in its implementation may be prepared, copied, published
|
||
and distributed, in whole or in part, without restriction of any
|
||
kind, provided that the above copyright notice and this paragraph are
|
||
included on all such copies and derivative works. However, this
|
||
document itself may not be modified in any way, such as by removing
|
||
the copyright notice or references to the Internet Society or other
|
||
Internet organizations, except as needed for the purpose of
|
||
developing Internet standards in which case the procedures for
|
||
copyrights defined in the Internet Standards process must be
|
||
followed, or as required to translate it into languages other than
|
||
English.
|
||
|
||
The limited permissions granted above are perpetual and will not be
|
||
revoked by the Internet Society or its successors or assigns.
|
||
|
||
This document and the information contained herein is provided on an
|
||
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
|
||
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
|
||
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
|
||
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
|
||
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||
|
||
Acknowledgement
|
||
|
||
Funding for the RFC Editor function is currently provided by the
|
||
Internet Society.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Montenegro, et al. Informational [Page 46]
|
||
|