Professional Documents
Culture Documents
245
$10.000 2000 IEEE
0-7695-0722-O/OO
this issue by using a function to enlarge the send buffer 2. Design principles
size when a large window size is advertised in an in-
coming TCP connection. However, from a practical 2.1. Overview of satellite-basedInternet access
point of view, it is not expected that many servers sup-
port this functionality. Figure 1 shows a typical network configuration of
satellite-based Internet access. In this configuration, a per-
In order to cope with this problem, there are some pro- sonal computer (PC) at the subscriber premises receives
posals to introduce boosting gateways inside the network, data from the Internet via a satellite link. Since a satel-
including our proposals[3, 4,51. These proposals suggest lite link has wide bandwidth, high speed communication is
introducing a pair of gateways at both ends of a long dis- expected. As for the reverse direction, PSTN or ISDN is
tance segment such as an international link or a satellite generally used, because it is difficult for each subscriber to
link, the gateways providing an end-to-end TCP connection have transmitting equipment to the satellite. Even if satellite
establishment and a link-by-link flow control. One gateway communication is used in both directions, the bandwidth
communicates with clients and servers according to the na- from the subscriber to an earth station will be small due
tive TCP they are using, and communicates with the other to the limitation of antenna size and transmission power.
gateway using a larger window size and, in some cases, Although the bandwidth to the Internet is small, most sub-
more efficient retransmission mechanism such as selective scribers feel this type of Internet access to be comfortable
retransmission[5]. because the main purpose of Internet access is to retrieve
These approaches are well-suited for the case where a information from the Internet.
backbone link has a long propagation delay, and the gate-
ways can be located at the both ends of this link. However,
atellite
in the case of satellite-based Internet access, although the
access link has a long propagation delay, each subscriber
should have an additional gateway system on his premises /
246
1. The TCP gateway is located next to the router in IP datagrams within the transmission rate of the satel-
the earth station, as shown in figure 2. It handles lite link as described below. Therefore, the TCP gate-
all TCP segments transmitted between servers on the way does not use the congestion control function on
Internet side and clients on the subscriber premises the subscriber side.
side. It maintains TCP connections established be- When a segment loss is detected, the TCP gateway
tween servers and clients, and therefore, servers and considers that a transmission error occurred or a sub-
clients do not need to establish TCP connections with scriber PC could not process some DATA segments
the gateway, which is different from application level temporarily, and the gateway will retransmit DATA
gateways such as proxy or SOCKS servers[6]. segments without invoking any congestion control al-
gorithms. As for the detection of segment losses, the
TCP gateway supports a timeout based mechanism and
fast retransmit-based mechanism similarly to the na-
llite tive TCP.
(3
so that the transmission rate of IP datagrams from the
internet gateway to the router is limited by the bandwidth of the
satellite link. This rate control is applied to the whole
Earth Station Subscriber Premises
IP datagram stream which may include multiple TCP
connections.
Figure 2. Satellite-based Internet Access us-
ing TCP Gateway
3. Detailed communication procedures of TCP
The gateway performs data transmission control, such gateway for satellite-based Internet access
as the acknowledgment of DATA segments, flow con-
trol and retransmission, on a link-by-link basis. For 3.1. Normal communication sequence
servers, it performs data transmission control accord-
ing to the procedures of the native TCP. For clients, it Figure 3 shows a communication sequence in a satellite-
will try to send more DATA segments than the native based Internet access when the TCP gateway is not used.
TCP using the mechanisms described below. Since ac- The communication sequence comprises three phases, i.e.,
knowledgment of DATA segments is performed sepa- (a) connection establishment, (b) data transfer, and (c) con-
rately, the TCP gateway retains copies of DATA seg- nection release. In the data transfer phase in figure 3, after
ments until they are acknowledged by each side. the server on the Internet side has sent DATA segments cor-
responding to the advertised window size, it suspends trans-
The TCP gateway has a maximum window size in- ferring DATA segments until the arrival of an ACK segment
ternally for data transfer to the clients on subscriber from the client on the subscriber premises side. This dura-
premises. This value is determined by taking ac- tion of suspending data transfer will degrade the throughput
count of the bandwidth of the satellite link, the prop- of TCP communication here.
agation delay and the throughput requirement of sub-
scribers. When the TCP gateway receives DATA seg- 3.2. Communication sequence of TCP,gateway
ments from the servers connected to the Internet, it will
forward those segments and receive ACK segments Figure 4 shows how a communicationsequence changes
from clients. The flow control of the data transfer from when the TCP gateway is introduced. The communication
the TCP gateway to clients uses a predetermined max- sequence of the data transfer phase is changed to accelerate
imum window size that is independent of the window the data transfer speed. The detailed procedures of the TCP
size advertised by clients. This allows the TCP gate- gateway are summarized as follows.
way to push out DATA segments to the satellite link.
0 Connection Establishment Phase (a)
Since the satellite link is an access link and it will be
connected to clients directly or to a LAN on subscriber 1. When the TCP gateway receives a SYN segment
premises, we assume that congestion will not occur be- to establish a connection, it records TCP connec-
tween the TCP gateway and PCs if the gateway sends tion information such as source and destination
247
in Earth Station Client in Sewer in Earth Station Client in
Internet Side Subscriber Side Internet Side , Subscriber Side
I Satellite Link --- --4
248
ment and corresponding connection information decided to use the go-back-N algorithm with fast re-
is recorded, the TCP gateway forwards it to the transmit supported by the TCP gateway. However,
other side. this go-back-N retransmission may generate duplicate
2. When the TCP gateway receives an ACK seg- ACK segments although there are no segment losses.
ment that is replying to a previously forwarded The TCP gateway needs to ignore these unnecessary
FIN segment, it forwards this ACK segment to duplicate ACK segments.
the other side. At this point, one direction is 0 As described in section 2.2, congestion control such
closed, and other direction is still open (TCP as slow start and congestion avoidance algorithms[7]
half-close). do not accompany the retransmission by the TCP gate-
3. The TCP gateway deletes the connection infor- way. This resolves the throughput degradation due to
mation after both directions are closed by ex- the segment losses resulting from transmission errors.
changing FIN and ACK segments.
The detailed processing of error recovery at the TCP
3.3. Error recovery procedures gateway may be summarized as follows.
0 Similarly to the native TCP, the TCP gateway supports 0 In the case of duplicate acknowledgment-based fast re-
two types of retransmission; timeout-based retrans- transmit:
mission, and duplicate acknowledgment-based fast
1. If the TCP gateway receives three duplicate
retransmit[7].
ACKs (ACK segments that have the same ac-
0 The timeout-based retransmission is the same as that knowledgment number as a previous one) con-
of the native TCP. When the TCP gateway detects a tinuously, it starts an error recovery process.
timeout while awaiting ACK segments, it retransmits 2. The TCP gateway retransmits DATA segments
the corresponding DATA segment and the following from the one corresponding to the duplicate
outstanding segments using a go-back-N algorithm. ACK. The TCP gateway uses the go-back-N al-
0 The fast retransmit of the native TCP allows a gorithm for this retransmission.
sender TCP to retransmit one missing DATA seg- 3. If the receiver implements a TCP that has fast re-
ment when three duplicate ACK segments are received transmit and fast recovery algorithms[7], it saves
continuously[7, 81. In the case of the TCP gateway, DATA segments following the lost segment in
the predetermined window size which the gateway its receive buffer. When the receiver receives
uses is much larger than the advertised window size. this retransmitted lost segment, all the segments
For example, the former is 256K bytes and the lat- saved in the receive buffer will be processed and
ter is 8760 bytes in our performance evaluation de- it will expect the next new DATA segment. If
scribed later. The DATA segments larger than the the TCP gateway retransmits all DATA segments
upper window edge of the advertised window, which sequentially from the lost segment, the receiver
are the major part of the outstanding DATA segments, may send ACK segments whose acknowledg-
need to be retransmitted even in the case of duplicate ment number indicates a new segment in reply
acknowledgment-based fast retransmit. Therefore, we to these retransmitted DATA segments. The TCP
249
gateway should not treat these ACK segments as segments, i.e. “2049:3073( 1024)”, “3073:4097( 1024)”,
duplicate ACKs. Therefore, it counts the number “4097:5121(1024)” and “5121:6145(1024)”, within the up-
of DATA segments included in the receive buffer, per window edge of the receiver.
and it avoids detecting this number of ACK seg- On the receiver side, when the retransmitted third seg-
ments as duplicate ACKs. ment arrives at the receiver, the three saved segments are
passed to the application, and the sequence number ex-
Figure 5 describes the error recovery sequence of the sec-
pected to be received becomes 6145. When the receiver re-
ond case. In this figure, the size of a DATA segment is 1024
ceives the following three retransmitted segments, it sends
bytes, and the receive buffer size of the receiver of the sub-
ACK segments with the same acknowledgment number
scriber is 4096 bytes. The notation “1:1025(1024)” used in
6145 (“ack 6145”). These are duplicate ACKs.
this figure means that this is a DATA segment whose se-
However, the TCP gateway knows that it needs to skip
quence number starts at 1 and finishes at 1024, and size is
four ACK segments to avoid detecting duplicate ACKs (0).
1024 bytes. A notation “ack 2049” indicates an ACK seg-
Hence, these ACK segments are not handled as duplicate
ment whose acknowledgment number is 2049.
ACKs, and any additional retransmission is not performed.
sewerin Earth Station Client in
The error recovery procedure between the TCP gateway
Internet Side ewG)ay-t( Subscriber Side and the receiver is different from that used by the native
- -- - -
-
Satellite Link TCP. However, this does not violate TCP specification, and
allows high speed communication to be maintained.
to application
(HOLE)
(saw 1024 bytcr) 4. Implementation and performance evalua-
(rave 1024 bytes)
(rave IU24 byicr) tion
(discard)
(discard)
(discard)
4.1. Implementation
-
to application)
We implemented the TCP gateway for satellite-based In-
-
(discard)
(discard)
(dixard) ternet access in order to evaluate our approach. The princi-
ples adopted for this implementation were as follows.
250
Internet side, and a “Personal Computer (FTPclient)” is a
receiver on subscriber premises. “Workstation A” is con-
nected to Ethernet only when the TCP gateway is used, oth-
UNlX erwise, “Workstation B” is connected to directly to “Router
OPERATING A.” The networks between a data channel simulator and
SYSTEM
routers use a serial line (6.0 Mbps), and the other networks
use the Ethernet (10 Mbps). In order to simulate a satellite
link, the data channel simulator generates a propagation de-
Ethernet Device Driver
lay of 300 msec from the TCP gateway to the receiver and
50 msec for the reverse direction. It also generates random
bit errors by specified bit error rates. The specification of
lntemet Side Subscriber Side the equipment used for this evaluation is shown in table 1.
251
-0- Default with TCP Gateway 5. Discussions
--.c Default +J- 64K
-&- 256K + 512K
5.1. Performance improvement by TCP gateway in
6 . 0 ~
default condition
- .5
Most operating systems use 8 through 24 Kbytes as a
default receive buffer size, and that of Windows 98 is 8760
bytes. In the case of this buffer size, the theoretical maxi-
mum throughput is
252
the data transfer speed becomes very low because buffer such networks without any modifications for sender and re-
overflows occur continuously at the congestion avoidance ceiver by generating acknowledgment segments in place of
stage. the receiver and transferring data segments with transmis-
This kind of problem depends on network configuration. sion rate control. The results of a performance evaluation
In this case, an overflow in “Router A” was caused because show that TCP communication using the TCP gateway can
“Workstation B” (FTP server) was connected directly via a provide over 20 times higher throughput than general TCP
10 Mbps Ethernet which has wider bandwidth than the se- over a 6 Mbps satellite link. Moreover, the retransmission
rial line. However, generally speaking, the use of the win- procedure we designed for the TCP gateway improves com-
dow scale option increases the chances of buffer overflow munication performance especially in a noisy environment.
in network equipment.
Acknowledgments
5.3. Data transfer over high bit error rate link
The authors wish to thank Dr. T. Muratani, President of
When bit errors increase, the throughput decreases grad- KDD R & D Laboratories Inc., for his continuous encour-
ually. In the case of the TCP gateway, because there is no agement of this study.
slow start and congestion avoidance after segment losses,
the throughput does not decrease very much even over a References
high bit error link. On the other hand, the native TCP stops
data transfer after detecting segment losses, retransmits the [1] M. Allman, D. Glover and L. Sanchez, “Enhancing
missing segments, and restarts data transfer under the con- TCP Over Satellite Channels using Standard Mecha-
gestion avoidance algorithm that shrinks congestion win- nism,” RFC-2488, January 1999.
dow size. This is the reason why the throughput of “256K’
decreases rapidly with increasing bit errors compared with D.Borman, R. Braden and V. Jacobson, “TCP Exten-
“Default with TCP Gateway.” sions for High Performance,” RFC-I 323, May 1992.
D. M. Chitre and T. Henderson, “Seamless Integra-
5.4. Results with slow receivers tion of Satellite and Terrestrial Networks,” Proc. of
ICDSC-10, pp. 220-227, May 1995.
In the results described above, a high speed desktop PC
T. Kato, K. Hokamura, M. Yamada, T. Hasegawa,
(with a 450 MHz CPU clock) was used as a receiver. It is re-
T. Hasegawa and K. Sawada, “TCP Gateway Improv-
quired to test whether the TCP gateway works well even if a
ing Throughput of TCP/IP over Wide Area ATM Net-
slow personal computer is used as a receiver. Therefore, we
works,’’ Proc. ofISS ’97, pp. 35-42, September 1997.
evaluated the performance of the TCP gateway using a note-
book type personal computer (with a Pentium 166 MHz) as T. Hasegawa, T. Hasegawa, T. Kato, K. Yoshiizumi,
a ftp client. T. Miki, K. Hokamura and K. Sawada, “Protocol Ar-
The evaluation indicates that the difference of through- chitecture of High Speed TCPAP Service over Inter-
put between the high speed PC (PentiumII 450MHz) and national ATM Network,” Proc. of 1998 IEEE ATM
low speed PC (Pentium 166MHz) is very small. In the case Workshop,pp. 159-168, May 1998.
of a low noise environment and because the
low speed PC drops some segments at the beginning of the M. Leech, M. Ganis, Y. Lee, R. Kuris, D. Koblas
data transfer, the retransmitted data is about 4.7% of the to- and L. Jones, “SOCKS protocol version5,” RFC- 1928,
tal of transmitted data. Therefore, it is considered that the March 1996.
TCP gateway is able to provide high performance commu- W. Stevens, “TCP Slow Start, Congestion Avoidance,
nication even if the client is a low speed computer. Fast Retransmit, and Fast Recovery Algorithms,”
RFC-2001, January 1997.
6. Conclusions G. R. Wright and W. R. Stevens, “TCPAP Illustrated,
Volume 2,” Addison Wesley, ISBN 0-201-63354-X,
In this paper, we proposed a TCP gateway to improve January 1995.
TCP communication performance in a satellite-based Inter-
net access environment. Although the satellite link has a SunSoft, “STREAMS Programming Guide,” Novem-
large bandwidth, TCP communication over it is slow be- ber 1995.
cause of the propagation delay and window-based flow con- URL: http://www.psc.edu/networking/perf-tune.html.
trol. The TCP gateway accelerates the throughput of TCP in
253