Uhp Tcpa - 3.4

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

TCP Acceleration & IP Protocols

Setup Guide

Document version 3.4

April 2017

TCP Acceleration Configuration Guide v3.4 Page 1


Abbreviations and terms used

NAME DESCRIPTION
HTTP Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed,
collaborative, hypermedia information systems.
Hub Central Station of satellite network that is managing all the stations and resources.
ICMP The Internet Control Message Protocol (ICMP) is used by networked devices to send
error messages—indicating, for instance, that a requested service is not available or that
a host or router could not be reached.
IGMP The Internet Group Management Protocol (IGMP) is a communications protocol used by
hosts and adjacent routers on IP networks to establish multicast group memberships.
IP IP is the usual abbreviation for Internet Protocol.
NMS Network Management System
ODU Outdoor Unit – part of earth station installed outside.
SNMP Simple Network Management Protocol
SNTP Simple Network Time Protocol (SNTP) is a protocol and software implementation for
synchronizing the clocks of computer systems over packet-switched, variable-latency
data networks.
SR Symbol Rate
Telnet Telecommunication Network (Telnet) is a network protocol used on the Internet or local
area networks to provide a bidirectional interactive communications facility.
TFTP Trivial File Transfer Protocol (TFTP) is a file transfer protocol, with the functionality of a
very basic form of File Transfer Protocol (FTP).
UDP The User Datagram Protocol (UDP) is the set of network protocols used for the Internet.
VLAN A virtual LAN, commonly known as a VLAN, is a group of hosts with a common set of
requirements that communicate as if they were attached to the same broadcast domain,
regardless of their physical location.

Basic principles

TCP traffic, unlike UDP, requires acknowledgements to be returned to the sending equipment as part of
the TCP flow control, if this flow control is delayed for any reason, then TCP assumes this is due to
congestion and throttles back the amount of data sent. This mechanism was never intended to cope
with long delays over satellite, so without acceleration a TCP session would be limited to around a few
hundred kbps depending on TCP window size (normally 64kB) and round trip delay (@ 560ms),
regardless of the actual satellite bandwidth available.

Acceleration works by the UHP router spoofing TCP acknowledgements to the local originating device as
if they had come from the remote equipment, therefore effectively eliminating the satellite delay and

TCP Acceleration Configuration Guide v3.4 Page 2


keeping the congestion to a minimum. This spoofing or dividing the TCP session into two is based on
split connection – rfc 3135 chapter 2.4).

Source UHP Router #1 UHP Router #2 Destination

IP network IP network
RxQ TxQ RxQ TxQ

TCP ACK spoofing Replacement of original IP/TCP Recovery of original IP/TCP


Optimization of TCP headers by compact (12 bytes) headers
connection by window size proprietary header before
transmission via satellite

data
T1
ACK (TCP window size)
TxQ buffering
data
T2 data
time

ACK data
RxQ buffering
time

ACK ACK

data

T1 – TCP connection delay with TCP acceleration


T2 – TCP connection delay without TCP acceleration
TCP connection with TCP acceleration
TCP connection delay without TCP acceleration
Figure 1 TCP Acceleration per session

The data received from the sending host is buffered within the UHP router and immediately
acknowledged to the sending host. (Refer to figure 1.) This buffered / acknowledged data is transmitted
over satellite and further acknowledged by the receiving host / recipient back to the originating UHP
router. For the sending host this effectively reduces RTT because the buffering effectively Increases the
TCP-window size, the round trip delay is therefore transparent to the host and so the data transfer rate
increases.

The degree of acceleration depends on many factors, primarily the size of the packet buffer.
In addition to buffering the data stream, TCP header compression is used for all accelerated sessions.

TCP connection
When the initial connection is established, the sync bits (SYN + ACK) pass without being accelerated, the
TCP / IP header of this transmitted packet are locally stored within UHP 1 and UHP 2 routers. For any
subsequent packets for this TPC session, the headers are replaced with a small overhead (12 bytes),

TCP Acceleration Configuration Guide v3.4 Page 3


which contains the session identifier. When packets are delivered to the UHP 2 router, they are placed
in the RxQ queue; the router generates a delivery confirmation to UHP 1 router. Upon receiving this
acknowledgment, the corresponding data packet is removed from the UHP 1's TxQ queue. Next, the
UHP 2 router replaces the service information added to the TCP / IP header stored in the router's
memory, and delivers the TCP packet to the recipient. The receiving host generates a confirmation of
this packet delivery to the UHP 2 router, which then removes the corresponding packet from the RxQ
queue.

The use of TxQ and RxQ queues allows the retransmission of packets that may have been damaged or
lost during transmission over the satellite communication channel.
For each TCP session, two packet queues are created:
TxQ - Packets received from the LAN interface, which are intended for transmission to the modulator.
RxQ - Packets received from the demodulator, which are intended for transmission to the LAN interface.

Employing TCP acceleration significantly reduces the waiting time for delivery confirmation of the
transmitted TCP packets, in addition this mechanism also guarantees delivery, which is implemented by
the UHP routers. Once the delivery confirmation is made, the next set of packets is transmitted, keeping
the session alive.

If the satellite communication channel is limited for any reason, the UHP 1 router can signal the sender
to reduce the data transfer rate, this mechanism is provided by specifying the TCP window size in the
ACK packets generated by the router at the sender side (UHP router 1). In summary, reducing the wait
time for a confirmation of delivery provides an increase in the data transfer rate, within the particular
session. In addition packet delivery is guaranteed by the UHP routers.

TCP configuration
TCP Acceleration parameters can be configured either via NMS or directly on the UHP router web
interface. (Advanced -> IP protocols -> Acceleration)

When configuring the following profiles: Star Hub / MF Hub / Hubless Master / DAMA Hub, the TCP
acceleration on / off check box is configured on the Station Table. (The TCP acceleration check boxes at
the respective stations are ignored.)

TCP Acceleration Configuration Guide v3.4 Page 4


To enable acceleration, it is necessary to correctly specify the station numbers in the TX Map routing
table.

To activate TCP acceleration on Standalone inroute stations, it is necessary to select TCP acceleration in
the station table (as well as for the HUB) and specify the offset of the stations of this inroute in the HUB
station table. The offset is indicated in the Inroute and DAMA inroute profile on the tab ACM -> Station
number offset. Please refer to screen shot below. In this case, update the routing table on the HUB, to
specify the station number taking into account the corresponding offset.

TCP Acceleration Configuration Guide v3.4 Page 5


The check box for Acceleration on the Inroute enables or disables acceleration for all stations using this
Inroute.

Figure 2. UHP web interface.

TCP Acceleration Configuration Guide v3.4 Page 6


TCP acceleration custom fields are shown below (Table 1).

Table 1. TCP Acceleration custom fields.


NAME DESCRIPTION
Enable Selecting the check box enables TCP acceleration for this unit
Allow for SVLAN The SVLAN number for which acceleration is applied
MSS MSS (Maximum TCP Segment Size), the maximum size packets that can be accelerated
Max TCP window The maximum TCP window size, which UHP can notify to the host
TCP rcv.wnd The update period for the estimated TCP window size. (In ms) As the queues empty / fills,
update the TCP window size changes. This parameter affects the rate of change of the TCP
window size.
Num sessions The maximum number of open and active sessions. If this number of sessions is exceeded
(i.e. the queues are not empty), then any additional TCP data will not be accelerated.
Minimum buffers This coefficient affects the relationship between TCP window size and the number of free
coeff buffers within the system. The greater this factor, the more buffers remain in use for
tasks outside of the accelerating subsystem.
Max queue len The maximum queue length in packets. This is the total queue length for each session
(TxQ and RxQ).
Max mod queue The maximum length of the modulator queue (in packets) for acceleration. The
len accelerating subsystem will not exceed this number of packets to the Modulator.
Retransmit timeout The time interval prior to the packet being resent, in seconds, if there was no
confirmation that the packet was received.
Retransmit max The maximum number of packet forwarding attempts. If this number is exceeded the TCP
tries session will be closed.
Session inactivity If no data is transmitted during this time, the session is closed. (In minutes)
timeout
ACK period The time period in which acknowledgements can be sent to the modulator. (In ms)

Statistics and problem resolution


To view acceleration statistics on the UHP router the following commands can be used:

show acceleration all


show acceleration stat [0-60]
show acceleration session [session_ind]
show acceleration rem

NAME DESCRIPTION
All All information also available from: (Settings, Statistics, Sessions).
stat General information about the acceleration process including statistics: (Settings,
Statistics)
stat T Statistics information will be automatically updated at intervals of T seconds.

TCP Acceleration Configuration Guide v3.4 Page 7


session This provides information about open TCP sessions. At the beginning of each line is the
index and session identifier (the command sh ac se session_ind)
session ID Details of the session with ID number.
rem Shows the number of stations for which acceleration is enabled.

On the UHP router, (Advanced -> IP protocols -> Acceleration -> Settings) the basic settings for TCP
Acceleration are displayed, in addition the Statistics section, shows the current statistics for all sessions.

Figure 3. TCP session statistics.

The values of the TCP acceleration fields displayed in the statistics are given below (see Table 2).

Table 2. The value of the TCP statistics fields.


NAME DESCRIPTION
Resources/Buf Number of free buffers.
Resources/ScDesc Number of free process scheduler descriptors.
Open sessions/Tot Total number of open sessions.
Open sessions/Lcl Number of sessions opened from the local host (for a given UHP router).
Open sessions/Rem Number of sessions opened from a remote host (for a given UHP router).
Closed Number of closed sessions (Total / Local / remote)
sessions/***
Close Number of normally closed sessions

TCP Acceleration Configuration Guide v3.4 Page 8


reasons/Norm
Close reasons/Tout Number of sessions closed by timeout (no data was transmitted)
Close reasons/Retr Number of sessions closed due to exceeding the number of packet transfers
RxQ Len RxQ queue length in packets
TxQ Len TxQ queue length in packets
Mod Len The number of accelerated packets in the modulator queue
Misses/No place Resource allocation errors for the session
Skip Number of sessions without acceleration
EthLost The number of lost packets from the LAN port
NAKs/Sent Number of transmitted NAK packets
NAKs/Rcvd Number of received NAK packets
Re-sends/ETH The number of packets resent to the LAN port
Re-sends/SAT The number of packets sent back to the modulator
LowWin Number of processes reducing the TCP window size to 0
TxQ Ovfl Number of TxQ queue overflows
RxQ Ovfl Number of RxQ queue overflows
Pckts with TCP Number of packets with TCP options enabled
options

The statistics also show information about open sessions. The values of the TCP Acceleration fields
displayed in the statistics are shown below (see Table 3).

Table 3. Open session information.


NAME DESCRIPTION
ID Index and session ID
FLG Session state flags:
U - Used (used)
A - Active (data is transmitted)
L / R - Local / Remote
P – Pass through (without acceleration)
W - TCP - window (value 0 for this session).
SIP Source IP address
DIP Destination IP address
Sport Source port number
Dport Destination port number
TxQ Queue length TxQ
RxQ Queue length RxQ
ScDesc The number of scheduler descriptors allocated to the session
Retr Current number of packet transfers
Tout Timeout session, the time through which the session will be closed

TCP Acceleration Configuration Guide v3.4 Page 9


Detailed TCP session information can be obtained using the following command:

The description of the data fields for the TCP session is shown within Table 4.

Table 4. Description of the command sh acc se 2458.


NAME DESCRIPTION
FLG Session flags
TCP state The state of the TCP machine
Tout Timeout
Scr The source IP port of the client opening the session
Dst The destination IP port for the session
TCP Current sequence numbers for TxQ
ACC Current sequence numbers for RxQ
SCH Number of scheduler descriptors
TxQ Buffers in the queue TxQ
RxQ Buffers in the queue RxQ

Features of using TCP Acceleration

TCP Acceleration Configuration Guide v3.4 Page 10


TCP checksum - Due to the finite resources within the UHP router, the TCP checksums for the received
packets are not inspected, so when a packet with an invalid TCP checksum appears, the session is likely
to be disconnected. The destination host will require a packet with the correct checksum, but the UHP
router has already confirmed receipt of this packet to the sending host, therefore this packet is no
longer available on the sending host.

Unbalanced connections - If the sending host is ready to send data at high speed, and the recipient host
is not ready to receive this data at high speed (for example, due to limited buffering on the host), the
TCP connection can be split into two streams, which results in disruption of the synchronization
processes on the hosts. This feature may cause the data transfer to stop or the connection to be
disconnected.

Troubleshooting Recommendations
1. If problems are detected for a specific type of TCP connection, it is possible to disable the
acceleration for this type of connection by using a policy.

2. Set the TCP Acceleration setting only for certain stations or SVLAN range, this action will
help to eliminate possible problems for the session acceleration.

TCP Acceleration Configuration Guide v3.4 Page 11

You might also like