TCP/IP
Transport control protocol/Internet protocol
(TCP/IP) is the protocol suite on which
the Internet is based. TCP/IP is now very
widely deployed. However, it was developed
without taking into consideration its performance
over very high speed (fiber optic) links
or long-delay (satellite) links, with the
result that efforts are now underway to
remedy some of the shortcomings that are
evident on links that have large bandwidth-delay
product. At the present time, considerable
low bit rate TCP/IP commercial traffic is
being carried over GEO satellites. With
suitable TCP/IP performance enhancements,
data rates in excess of 500 Mbps have been
demonstrated over GEO located satellites. |
|
Internet
Protocol
IP is a network layer protocol whose function
is to permit data traffic to flow seamlessly
between different types of transport mechanisms
(Ethernet, ATM, Frame Relay, etc). IP resides
in the terminal devices and in routers which
function as switches in the network, routing
datagrams (packets) towards their destination
based on an address field contained in the
datagram.
The routers in the network are required
to translate between different addressing
schemes. For example, local area networks
operating on the IEEE 802 LAN standard address
attached devices with 16 or 48-bit binary
addresses. An X.25 public packet-switching
network, on the other hand, uses 12-digit
decimal addresses. IP provides a global
addressing scheme and a directory service.
The current version (Ipv4) of IP has address
space limitations that threaten to inhibit
the growth of the Internet, with the result
that a new version (Ipv6) is under development
(Stallings 1997).
|

Fig. 4.21. The protocol stack for a network running
on TCP/IP (Stallings 1997).
Routers
are also required to handle differences
in the size of packets that can be carried
on different networks. X.25 networks commonly
operate with packets having a maximum size
of 1,000 bytes-in contrast to Ethernet,
which permits packets of 1,500 bytes. To
overcome these differences datagrams may
have to be broken into smaller packets (this
is known as fragmentation) and reassembled
when they reach their destination.
The IP protocol does not guarantee
delivery, or that packets will arrive in
the proper sequence. (Packets can get out
of order since they may follow different
paths through the network, thereby encountering
different amounts of delay.) Packets can
fail to be delivered for several reasons.
If the network becomes congested one or
more routers may become overloaded and their
buffers may begin to overflow. Rather than
simply discarding all newly arriving packets,
the routers are programmed discard packets
in a random fashion to prevent buffer overflow.
This is best implemented in a "fair"
way so that the data stream having the largest
volume suffers the largest number of dropped
packets. The links in the network are not
error free so that it is possible for a
packet's address to become corrupted making
the packet undeliverable. Again it must
be discarded lest the network become clogged
with undeliverable traffic. In sum, IP is
engineered to make a best effort to deliver
a message but does not guarantee to do so.
|
|
Transport
Control Protocol (TCP)
It is the function of the
TCP protocol residing in the end devices
(computers)-see Figure 4.21-to ensure the
proper delivery of a complete message. TCP
achieves this by assigning each byte of
information a unique sequence number. The
receiver keeps track of these sequence numbers
and sends acknowledgements (ACKS) to indicate
that it has received each datagram up to
a particular byte number.
|
Performance
of TCP Over Satellite
Satellites are an attractive
option for carrying Internet and other IP
traffic to the many locations across the
globe where terrestrial options are limited
or price prohibitive. However, data networking
over satellites is faced with overcoming
the large latency and high bit error rates
typical of satellite communications, as
well as the asymmetric bandwidth design
of most satellite networks.
Communications over geosynchronous
satellites, orbiting at an altitude of 22,300
miles, have round-trip times of approximately
540 ms, an order of magnitude larger than
terrestrial networks. The journey through
the atmosphere can also introduce bit errors
into the data stream. These factors, combined
with back channel bandwidth which is typically
much smaller than that available on the
forward channel, reduce the effectiveness
of TCP which is optimized for short hops
over low-loss cable or fiber. Satellite
conditions adversely interact with a number
of elements of the TCP architecture, including
its window sizing, congestion avoidance
algorithms, and data acknowledgment mechanisms,
which combine to severely constrict the
data throughput rate that can be achieved
over satellite links.
|
|
Window
Size:
TCP utilizes a sliding window mechanism to
limit the amount of data in flight. When the
window becomes full, the sender stops transmitting
until it receives new acknowledgments. Over
satellite networks, where acknowledgments
are slow to return, the TCP window size generally
sets a hard limit on the maximum throughput
rate. The minimum window size needed to fully
utilize an error-free link, known as the "bandwidth-delay
product," is 100 KB for a T1 satellite
link and 675 KB for a 10 Mbps link. However,
many implementations of TCP are limited to
a maximum window size of 64 KB and most operating
systems use a default window size of only
8 KB, imposing a maximum throughput rate over
a satellite link of only 128 Kbps per connection,
regardless of the bandwidth available. |
Congestion
Avoidance:
In order to avoid the possibility of congestive
network meltdown, TCP assumes that all data
loss is caused by congestion and responds
by reducing the transmission rate. However,
over satellite links, TCP misinterprets the
long round-trip time and bit errors as congestion
and responds inappropriately. Similarly, the
TCP "Slow Start" algorithm, which
over the terrestrial infrastructure prevents
new connections from flooding an already congested
network, forces an excessively long ramp-up
for each new connection over satellite. While
these congestion avoidance mechanisms are
vital in routed environments, they are ill-suited
to single-path satellite links. |
|
Data
Acknowledgements:
The simple, heuristic data acknowledgment
scheme used by TCP does not adapt well to
long latency or highly asymmetric bandwidth
conditions. To provide reliable data transmission,
the TCP receiver constantly sends acknowledgments
for the data received back to the sender.
The sender does not assume any data is lost
or corrupted until a multiple of the round-trip
time has passed without receiving an acknowledgment.
This algorithm does not respond well over
satellite networks where the round-trip
time is long and error rates are high. Further,
this constant stream of acknowledgments
wastes precious back channel bandwidth and
if the back channel is small, the return
of the acknowledgments to the sender can
become the system bottleneck.
|
| The
better satellite IP implementations take the
above issues into account in maximising throughput
and the end user experience. |
|