17-TCP Acceleration Option
17-TCP Acceleration Option
Document # 1609
This publication contains information proprietary and confidential to Memotec Inc. Any reproduction,
disclosure or unauthorized use of this publication is expressly prohibited except as Memotec Inc. may
otherwise authorize in writing.
Memotec Inc. reserves the right to make changes without notice in product or component design as warranted
by evolution in user needs or progress in engineering or manufacturing technology. Changes which affect the
operation of the unit will be documented in the next revision of the manual.
We have made every effort to ensure the accuracy of the information presented in our documentation.
However, Memotec assumes no responsibility for the accuracy of the information published. Product
documentation is subject to change without notice. Changes, if any, will be incorporated in new editions of
these documents. Memotec may make improvements or changes in the products or programs described within
the documents at any time without notice. Mention of products or services not manufactured or sold by
Memotec is for informational purposes only and constitutes neither an endorsement nor a recommendation for
such products or services.
Memotec Inc. is a wholly owned subsidiary of Comtech EF Data Corp., and its parent company Comtech
Telecommunications Corp (NASDAQ: CMTL).
AccessView, CXTool, CX-U Series, CX-UA Series, AbisXpress, NetPerformer, AccessGate, ACTView, SDM-
8400, and the SDM-9000 series of products are either registered trademarks or trademarks of Memotec Inc.in
Canada, the United States of America, and in other countries.
Windows is a registered trademark of Microsoft Corporation in the United States and other countries.
Memotec Inc.
7755 Henri Bourassa Blvd. West
Montreal, Quebec
Canada H4S 1P7
Tel.: (514) 738-4781
FAX: (514) 738-4436
www.memotec.com
Contents
Memotec Inc.
Chapter 3: Application Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Index-1
Memotec Inc.
1
NetPerformer Support of TCP Acceleration
NOTE: The TCP Acceleration option is not available on the NetPerformer VoIP Gate-
way product (SDM-9230GW).
Some features of TCP acceleration congestion control are also available as non-
configurable features on all NetPerformer base products running V10.2, and can be used
on terrestrial networks. Refer to Table 1-1.
1.1.1 Overview
Satellite communications provide an easy and flexible way to globally extend the
enterprise network. TCP/IP via satellite can take advantage of an instant communications
infrastructure to almost anywhere in the world.
The NetPerformer TCP Acceleration Option handles the obvious problems associated
with using TCP/IP, a protocol that was optimized to run on terrestrial networks, in a
satellite environment:
• Link latency: A satellite network is necessarily comprised of high-delay prod-
ucts, and satellite link bandwidth is not efficiently utilized
• High error rate: The potentially higher bit error rate of a satellite results in poor
TCP/IP performance
• Asymmetry: Satellite links often operate in an asymmetric mode where they
receive at a higher data rate than they transmit. The low-rate uplink easily
becomes congested.
NOTE: These inherent problems are discussed further on “Problems with TCP/IP in a
Satellite Environment” on page 1-3.
The reduced efficiency and Quality of Service (QoS) of the typical satellite link is largely
overcome when the TCP Acceleration Option is installed on all NetPerformer units that
act as a gateway to the satellite network with a MODULATOR satellite connection.
1.2.2 Latency
Latency in a terrestrial environment is typically very low. For example, the
prorogation time across the North American continent is approximately 30 ms. Latency to
and from a geo-stationary satellite is much higher: approximately 260 ms each way.
• This means that the Round Trip Time (RTT) via satellite is 520 ms, even exclud-
ing any coding delays or terrestrial-based latencies.
• The large discrepancy between terrestrial and satellite RTTs is the main reason
why networks cannot be extended to satellite applications efficiently.
• Short of changing orbital parameters, nothing can be done to reduce the RTT.
Protocol enhancement is required to accommodate latency.
On a satellite link, actual throughput is a function of the window size divided by the RTT.
As the RTT increases the throughput decreases, and the link experiences higher bandwidth
delays. To avoid reduced throughput on links with increased bandwidth delays, TCP
applications can:
• Increase the window size. Turn to “Window Scaling” on page 1-9.
• Use a larger buffer for the connections. This buffer is directly related to the
window size.
1.2.3 Asymmetry
Unlike terrestrial networks, satellite links often operate in asymmetric mode, receiving
segments at a higher transmission rate than they transmit. This is due to two main
factors:
• Satellite terminals, especially portable or mobile stations, are often uplink power
limited.
These stations have a ceiling on their uplink transmit capability, but can receive
as many signals on the downlink as the application requires.
• In some cases, the asymmetry of satellite links may simply reflect an asymmetry
in the actual data flow between locations.
For example, many Web servers send out vast quantities of information in
response to relatively short requests.
Because of these factors, it is not uncommon for the ratio of downlink to uplink capacity
to reach 100 to 1, or even higher.
Uplink/downlink asymmetry is not the ideal environment for the self-clocking mechanism
of TCP (see “Latency” on page 1-3):
• Most TCP segments received over the high rate downlink are responded to with
an ACK, which is sent over the low rate uplink.
• The low rate link may become congested with ACKs.
• Flow control starts up, reducing the amount of traffic that can be sent over the
high rate downlink even though it is not congested itself.
1.3.1 Transparency
The NetPerformer TCP Acceleration Option is a transparent solution. A protocol
enhancement is considered transparent if it:
• Has no negative impact on performance or connections
• Does not require special procedures to obtain the desired improvement, and can
be used without the end user’s knowledge
• Does not compromise the integrity of the protocol or its features. For example, a
protocol that guarantees end-to-end reliability must continue to provide end-to-
end reliability under enhancement.
• The protocol enhancement should correct aspects of the protocol that result in
inefficient use of the satellite link.
Improved satellite network efficiency is the main advantage of the NetPerformer TCP
Acceleration Option.
NOTE: Some of these solutions are available on all NetPerformer products that run
V10.2, without requiring a software license. See “Availability on NetPer-
former Products” on page 1-12.
NOTE: The link remains intact at the physical level as a composite of three connec-
tions, rather than a single point-to-point connection.
The NetPerformer unit that breaks the connection takes responsibility for delivering
the data to its proper destination. This resolves the delays that result from high latency
(see “Latency” on page 1-3) and the congestion problems associated with asymmetry (see
“Asymmetry” on page 1-3). In this approach:
• A NetPerformer gateway at the outskirts of the satellite portion of the network
examines the content of all TCP headers in segments received from the source
node. Refer to Figure 1-1.
• This NetPerformer sends spoofed ACKs back to the source node, and takes
responsibility for delivering these ACKs successfully.
• It deletes the real ACKs it receives from the satellite destination. This prevents
any confusion on the part of the source node.
depending on the type of license installed (the license can be scaled to the
size of your application, and may support a lower maximum number of con-
nections). Any additional connections will use end-to-end TCP, which is the
same as routing the traffic with TCP Acceleration disabled.
Satellite
Gateway
Data
ACK
d ACK Data
Spoofe
Gateway intervention
1.4.3 Timestamp
TCP timeouts and retransmissions depend on the measured Round Trip Time (RTT).
However, the RTT must be ignored when packets have been sent more than once.
It is often difficult to get a correct RTT measurement in a noisy environment such as
satellite. To circumvent this problem the NetPerformer uses the timestamp option, an
extension of the TCP protocol that was introduced in RFC-1323.
• The timestamp option permits accurate RTT measurement for practically every
ACK that passes through the gateway.
Rather than notifying the sender about all segments that were received successfully, when
SNACK is invoked the receiver provides the sender with:
• A list of missing segments that require retransmission
• The sequence number of the segment up to which no segments were lost.
As a result:
• The sender does not need to retransmit segments that have already been success-
fully delivered to the receiver
• Missing segments are retransmitted immediately, accelerating overall perform-
ance.
The SNACK capability comes with the NetPerformer V10.2 base product and is
always available for negotiation, even if TCP Acceleration is not enabled or no
software license is entered. Outside of a TCP Acceleration application, SNACK can be
useful for:
• Improved speed of the NetPerformer user interface
• Rapid display of real-time statistics
• Faster file downloads
• Faster Telnet access to the console.
- Fair share
- Dynamic right-sizing.
These features can be useful for terrestrial and satellite networks alike. For example, Fast
Retransmit permits higher speeds:
• If a unit receives 3 identical ACKs after a segment has not been received, it will
retransmit automatically.
• If a hole in the segment stream is detected, it can send immediately.
NOTE: Fast Retransmit comes with the NetPerformer V10.2 base product and is
always enabled. Fast Retransmit is beneficial for all products, and can
improve performance of the NetPerformer FTP transmitter.
Fair share and dynamic right-sizing control buffer management in terrestrial and satellite
networks. With these algorithms, both the RTT and the available bandwidth are considered
in the buffer size decision, which determines the window size. The fair share algorithm
ensures that all connections get a fair share of the bandwidth, and redistributes any unused
bandwidth to connections that need it the most.
NOTE: A specific License Profile is valid for a single NetPerformer unit only.
DP example: SDM-9230>DP
with TCP DISPLAY PARAMETERS
Acceleration Item (BRIDGE/CALLER ID/CLASS/CUSTOM/FILTER/GLOBAL/HUNT/IP/IPX/MAP/
enabled PHONE/
PORT/PU/PPPOE/PPPUSER/PVC/REDUNDANCY/SCHEDULE/SLOT/USER/VLAN,
def:REDUNDANCY) ? ALL
Wait for <ENTER> after each screen (NO/YES,def:YES) ? NO
NetPerformer SDM-9230 vX.X.X Memotec Inc. (c) 2004
Signaling Engine vX.X.X Memotec Inc. (c) 2004
Console connected on port CSL
TCP acceleration license (AAAA-BBBB-CCCCCCCC-DDDD) enabled on this
unit
Number of accelerated connections: XXX
...
DV example: SDM-9230>DV
with TCP DISPLAY VERSION
Acceleration SDM-9230 vX.X.X Memotec Inc. (c) 2004
enabled Signaling Engine vX.X.X Memotec Inc. (c) 2004
DSP code version: X.X.X
Console connected on port CSL
TCP acceleration license (AAAA-BBBB-CCCCCCCC-DDDD) enabled on this
unit
Number of accelerated connections: XXX
DA example: SDM-9230>DA
with TCP DISPLAY ALARMS
Acceleration SDM-9230 vX.X.X Memotec Inc. (c) 2004
enabled Signaling Engine vX.X.X Memotec Inc. (c) 2004
DSP code version: X.X.X
Console connected on port CSL
TCP acceleration license (AAAA-BBBB-CCCCCCCC-DDDD) enabled on this
unit
Number of accelerated connections: XXX
...
NOTE: This parameter appears at the NetPerformer console only if the TCP accelera-
tion parameter has been set to YES. It is configurable only on a SDM-9220
or SDM-9230 installed with the TCP Acceleration licensed software
option. On other NetPerformer products, congestion control is always
enabled, to improve throughput and reduce the number of retransmissions.
• Set TCP congestion control to YES to implement TCP congestion control on this
element (port, channel, PVC or SVC). When TCP congestion control is imple-
mented, the congestion avoidance and control mechanisms are activated (refer to
“Congestion Avoidance and Control” on page 1-10).
YES is the default value of the TCP congestion control parameter, and the
preferred setting for a satellite link.
• Set TCP congestion control to NO to disable all congestion avoidance and control
mechanisms on this element. In this case, the NetPerformer will always use the
full window advertised by the remote unit.
NOTE: TCP congestion control is not configurable for a PVC set to FRF.8, ATM-
MULTIPLEX, MULTIPLEX or TRANSP mode.
NOTE: Each NetPerformer element that you would like to include in TCP Accelera-
tion must be configured separately for this feature.
Unit ID>
(main prompt)
Setup (SE)
To configure a serial port on the Dual Serial interface card for TCP Acceleration:
1. At the NetPerformer command line prompt, enter the menu sequence: SE SLOT
2. Select the Slot number
3. Select the Channel number
4. Set the Protocol to PVCR or PPP
5. Set the TCP acceleration parameter to YES
6. Change the other parameters from their default values, if desired.
To configure a digital data channel for TCP Acceleration:
1. At the NetPerformer command line prompt, enter the menu sequence: SE SLOT
2. Select the Slot number
3. Enter LINK
4. Set the Status to ENABLE
5. Set the Signaling mode to NONE
6. Press <Esc>
7. Enter CHANNEL
SDM-9230>SE
SETUP
Item (BRIDGE/CALLER ID/CLASS/CUSTOM/FILTER/GLOBAL/HUNT/IP/IPX/MAP/
PHONE/
PORT/PU/PPPOE/PPPUSER/PVC/REDUNDANCY/SCHEDULE/SLOT/USER/VLAN,
def:PORT) ? SLOT
SLOT> Slot number (1,def:1) ? 1
Item (LINK/CHANNEL,def:LINK) ? CHANNEL
SLOT> Channel Number (101-124/ALL,def:101) ? 101
PORT 101> Protocol (def:OFF) ? PVCR
PORT 101> Timeslot (def:1) ?
PORT 101> Number of consecutive timeslots (1-24,def:1) ?
...
PORT 101> IP multicast active (def:NO) ?
PORT 101> NAT enable (def:NO) ?
PORT 101> TCP acceleration (def:NO) ? YES
PORT 101> TCP congestion control (def:YES) ?
PORT 101> IPX RIP (def:DISABLE) ?
...
9230-1>SE
SETUP
Item (BRIDGE/CALLER ID/CLASS/CUSTOM/FILTER/GLOBAL/HUNT/IP/IPX/MAP/
PHONE/
PORT/PU/PPPOE/PPPUSER/PVC/REDUNDANCY/SCHEDULE/SLOT/USER/VLAN,
def:PORT) ? PPPOE
PPPoE number (1-32,def:1) ?
PPPoE 1> Mode (def:OFF) ? CLIENT
PPPoE 1> LAN port (def:ETH1) ? ETH2
PPPoE 1> AC Name (def:) ? ANK2-CTRLPSTDOL
PPPoE 1> Service Name (def:) ?
PPPoE 1> PPP User (def:NONE) ? 1
PPPoE 1> Silent (def:SEND REQUEST) ?
PPPoE 1> LCP timeout (seconds) (1-255,def:3) ?
PPPoE 1> LCP retries, 255 = forever (0-255,def:255) ?
PPPoE 1> Negotiate MRU (def:NO) ? YES
PPPoE 1> Proposed MRU (256-1492,def:1492) ?
PPPoE 1> Use MRU proposed by peer (def:NO) ? YES
PPPoE 1> Maximum accepted MRU from peer (256-1492,def:1492) ?
...
PPPoE 1> IP multicast active (def:NO) ?
PPPoE 1> NAT enable (def:NO) ?
PPPoE 1> TCP acceleration (def:NO) ? YES
PPPoE 1> TCP congestion control (def:YES) ?
PPPoE 1> Filter (def:ALL) ?
2.3.5 PVC
NOTE: A PVC on the NetPerformer base product must be set to PVCR or RFC1490
mode. On a product installed with the ATM licensed software option, the PVC
may also be set to ATMPPP, ATMPVCR or RFC1483 mode.
NOTE: ATMPPP, ATMPVCR and RFC1483 are available with the ATM option only.
SDM-9230>SE
SETUP
Item (BRIDGE/CALLER ID/CLASS/CUSTOM/FILTER/GLOBAL/HUNT/IP/IPX/MAP/
PHONE/
PORT/PU/PPPOE/PPPUSER/PVC/REDUNDANCY/SCHEDULE/SLOT/USER/VLAN,
def:PORT) ? PVC
PVC number (1-300,def:1) ?
2.3.6 SVC
NOTE: The SVC must be an ATM SVC set to ATMPPP, ATMPVCR or RFC1483
mode.
NOTE: ATMPPP, ATMPVCR and RFC1483 are available with the ATM licensed soft-
ware option only.
9360>SE
SETUP
Item (BRIDGE/CALLER ID/CLASS/CUSTOM/FILTER/GLOBAL/HUNT/IP/IPX/MAP/
PHONE/
PORT/PU/PPPOE/PPPUSER/PVC/REDUNDANCY/SCHEDULE/SLOT/SVC/USER/VLAN,
def:GLOBAL) ? SVC
SVC number (1-300,def:1) ?
SVC 1> Mode (def:OFF) ? ATMPVCR
SVC 1> SVC Destination address
(def:0000000000000000000000000000000000000000) ?
SVC 1> Local Address (def:00000000000000) ?
SVC 1> Type (def:DEDICATED) ?
SVC 1> Call Delay (1-255,def:5) ?
SVC 1> Call Retry Delay (1-255,def:10) ?
Unit ID>
(main prompt)
Figure 2-2: TCP Acceleration Statistics and Capture Commands in the CLI Tree
Satellite
PC-1 www.google.ca
10.0.0.2
• Both WAN ports (Kujuak and Montreal WAN 1) are configured with the FR-
USER protocol
• An RFC1490 PVC is set up at each location, and TCP Acceleration is imple-
mented on each PVC
• TCP connections are automatically spoofed if they are sent or received at a con-
nection where TCP Acceleration is activated.
The configuration of the RFC1490 PVCs is as follows:
KUJUAK>SE
SETUP
Item (BRIDGE/CALLER ID/CLASS/CUSTOM/FILTER/GLOBAL/HUNT/IP/IPX/MAP/
PHONE/
PORT/PU/PPPOE/PPPUSER/PVC/REDUNDANCY/SCHEDULE/SLOT/USER/VLAN,
def:PORT) ? PVC
PVC number (1-300,def:1) ? 1
PVC 1> Mode (def:RFC1490) ? RFC1490
PVC 1> Port (def:1) ? 1
PVC 1> DLCI address (0-1022,def:100) ? 100
PVC 1> Committed Information rate (4000-6144000,def:2048000) ?
PVC 1> Burst Information rate (4000-6144000,def:2048000) ?
PVC 1> Remote unit name (def:) ? MONTREAL
PVC 1> IP address (def:000.000.000.000) ? 10.0.1.1
PVC 1> Subnet mask (number of bits) (0-32,def:8) ? 24
PVC 1> NAT enable (def:NO) ?
PVC 1> TCP acceleration (def:NO) ? YES
PVC 1> TCP congestion control (def:YES) ?
PVC 1> Frame size (128-8192,def:1500) ?
...
PVC 1> BRG connection (def:NO) ? YES
...
PVC 1> Filter (def:ALL) ?
MONTREAL>SE
SETUP
Item (BRIDGE/CALLER ID/CLASS/CUSTOM/FILTER/GLOBAL/HUNT/IP/IPX/MAP/
PHONE/
PORT/PU/PPPOE/PPPUSER/PVC/REDUNDANCY/SCHEDULE/SLOT/USER/VLAN,
def:PORT) ? PVC
PVC number (1-300,def:1) ? 1
PVC 1> Mode (def:RFC1490) ? RFC1490
PVC 1> Port (def:1) ? 1
PVC 1> DLCI address (0-1022,def:100) ? 100
PVC 1> Committed Information rate (4000-6144000,def:2048000) ?
PVC 1> Burst Information rate (4000-6144000,def:2048000) ?
PVC 1> Remote unit name (def:) ? KUJUAK
PVC 1> IP address (def:000.000.000.000) ? 10.0.1.2
PVC 1> Subnet mask (number of bits) (0-32,def:8) ? 24
PVC 1> NAT enable (def:NO) ?
PVC 1> TCP acceleration (def:NO) ? YES
PVC 1> TCP congestion control (def:YES) ?
PVC 1> Frame size (128-8192,def:1500) ?
...
PVC 1> BRG connection (def:NO) ? YES
...
PVC 1> Filter (def:ALL) ?
With this configuration, all TCP connections from PC-1 to the Internet are processed using
three real TCP connections. The intervening connections are entirely transparent to PC-1,
which the user perceives as being directly connected to the Internet site. In fact, the
NetPerformer units in Kujuak and Montreal spoof the connection twice.
SYN
Spoofed SYN
SYN ACK
Spoofed SYN
Gateway intervention
Gateway intervention
C P
Configuration Parameters 2-4
commands 2-6 PPPoE port configuration 2-9
preparing for 2-2 Product license 2-2
procedures 2-6 See also Software license
Congestion control 1-10 Protocol enhancement 1-3
Console port configuration 2-6 PVC configuration 2-10
example 3-2
D
Q
Dynamic right-sizing 1-11
Quality of Service 1-2
E
R
Error rate 1-2, 1-3
Example application 3-1 Requirements
installation 1-2
operational 1-5
F
Factory Setup command 2-2 S
Fair share 1-11
Fast checksum 1-11 Scalability 1-6
FS command 2-2 Slow start algorithm 1-8
SNACK 1-9
in non-satellite environment 1-10
I Software license 2-2
Installation requirements 1-2 agreement 2-2
Installation status 2-3 SVC configuration 2-11
L T
LAN port configuration 2-7 TCP acceleration parameter 2-4
Latency 1-3 TCP congestion control 2-5
License 2-2 TCP spoofing 1-7, 3-3
U
Uplink capacity 1-3
W
WAN port configuration 2-8
Window scaling 1-9
Window size 1-3
2 Memotec Inc.
TCP Acceleration Options 3
REACH FURTHER. OFFER MORE.
Contact Memotec:
tel.: +1-514-738-4781
e-mail: MemotecSupport@memotec.com