Академический Документы
Профессиональный Документы
Культура Документы
2
Introduction
3
Introduction
New Environments
Applications
New Networks
5
Introduction
Wireless
Networking
Embedded
Sensors
Systems
6
Overview of
Transmission Control Protocol / Internet
Protocol
(TCP/IP)
7
Internet Protocol (IP)
8
TCP: A Brief Review
TCP: Transmission Control Protocol
Specified in 1974 (TCP Tahoe)
Data stream TCP packets
Reliable end-to-end connection
Reliable In-order packet delivery
Implements congestion avoidance and control
Reliability achieved by means of retransmissions if necessary
End-to-end semantics
Acknowledgements sent to TCP sender confirm delivery of data
received by TCP receiver
Ack for data sent only after data has reached receiver
9
TCP:--- INTRODUCTION
One of the most popular and widely used end-to-end protocols
for the Internet today.
10
How does TCP work?
Establishes an end-to-end connection:
Acknowledgement based packet delivery
Assigns a congestion window Cw:
Initial value of Cw = 1 (packet)
If tx successful, congestion window doubled. Continues until
Cmax is reached
After Cw Cmax, Cw = Cw + 1
If timeout before ACK, TCP assumes congestion
11
How does TCP work? (2)
TCP response to congestion is drastic:
A random backoff timer disables all transmissions for duration
of timer
Cw is set to 1
Cmax is set to Cmax / 2
Congestion window can become quite small for
successive packet losses.
Throughput falls dramatically as a result.
12
TCP Flow Control
Provides reliable connected-oriented service.
A virtual circuit connection (VCC) must be established hop-by-
hop from the source to the destination prior to data transmission.
14
Window Based Flow Control
Sliding window protocol
Window size minimum of
receivers advertised window - determined by available buffer
space at the receiver
congestion window - determined by the sender, based on
feedback from the network
Senders window
1 2 3 4 5 6 7 8 9 10 11 12 13
15
Window Based Flow Control
Congestion window size bounds the amount of data that can
be sent per round-trip time
1 2 3 4 5 6 7 8 9 10 11 12 13
Ack 5
1 2 3 4 5 6 7 8 9 10 11 12 13
16 Senders window
Ideal Window Size
Ideal size = delay * bandwidth
delay-bandwidth product
18
Overview
packets in flight 26
24
rt
rt
10
sta
sta
1 threshold
8
w
efficient)
Slo
Slo
6
4
22
Versions of TCP
TCP Reno
TCP Reno (RFC 2581) can manage a loss of at most one packet
from a single window of data
TCP Reno employs the SS and CA mechanisms.
The sender window size is increased until packet losses are
experienced. lost packets are detected earlier and the pipeline is not
emptied every time a packet is lost.
TCP Tahoe
Congestion avoidance in TCP Tahoe relies on setting the congestion
window (cwnd) size to half the current window size on timeout.
On each ACK for new data, the cwnd is increased by 1/cwnd.
23
Tahoe detects packet losses by timeouts.
Versions of TCP
TCP Vegas
TCP Vegas is different from TCP Reno in the sense that:
a new retransmission mechanism is used,
an improved congestion avoidance mechanism that controls
buffer occupy, and
a modified slow start mechanism.
In TCP Vegas, all changes are confined to the sending end, and it
does not involve any changes to the TCP specification.
24
Versions
TCP SACK
of TCP
TCP SACK (RFC 2018) enables to cope with a loss of more than one packet
by changing message structure (using TCP options)
Upon successful reception of the ACK, the sender transmits the next packet.
If an ACK for a packet sent does not arrive within a predetermined timeout
period, the packet is retransmitted. While PAR is simple, it is not perfect.
When this happens, the sender will time out and the last transmitted packet
will be resent again, resulting in duplicates. Note that PAR uses sequence
25
numbers to correctly associate packets with ACKs.
TCP window-based selective repeat mechanism
26
Problem over wireless network for
TCP
TCP was originally designed to work in fixed networks.
Error rates in wired network are quite low, TCP uses packet
loss as an indication of network congestion, and deals with
this effectively by adjustment to its congestion window.
The mobile multihop ad hoc environment brings fresh
challenges to TCP protocol due to its frequent change in
network topology, disconnections, variation in link capability,
and high error rate.
27
In a wireless mobile ad hoc network, packet losses are
usually not caused by network congestion, but by the high
error rate from wireless medium and frequent
disconnections from mobility, resulting in backoff
mechanisms being in-appropriately invoked , thus reducing
network bandwidth utilization and increasing the delay for
connection restoration.
In addition, variation in link capability could cause asymmetric
links and delayed acknowledgment, which can affect congestion
window adjustment as well.
As a result, standard TCP flow control and congestion control
mechanisms do not work well in mobile ad hoc networks.
28
Issues of TCP over MANETs
1. Induced traffic : due to traffic through neighboring links
2. Induced throughput unfairness
3. Separation of congestion control, reliability and flow
control
4. Power and bandwidth constraints
5. Misinterpretation of congestion
6. Completely decoupled transport layer
7. Dynamic topology
29
Issues of TCP over MANETs
Lossy channels
High bit error rate
Path asymmetry
Bandwidth asymmetry
Loss rate asymmetry
The backward path is much more lossy than the forward path
It may produce bandwidth asymmetry
Route asymmetry
Due to lack of transmission power
Distinct paths for TCP data and TCP ACKs
30
Issues of TCP over MANETs
Network partition
Due to node mobility and energy constrained operation
If disconnectivity > RTO
The TCP sender will trigger exponential backoff
Doubling the RTO
After the network is connected again, TCP is still in the backoff state
Routing failures
Very frequent events in MANETs
Due to node mobility and repeated transmission failure from link layer
contention
After route re-establishment TCP will face a brutal fluctuation in RTT
Power constraints
Power saving reducing the power consumption
31 Power control adjusting the transmission power of mobile nodes
Issues of TCP over MANETs
32
Problems Facing TCP in Wireless Ad Hoc
In ad hoc wireless networks, when a route is broken due to the mobility of
nodes in the route, a route reconstruction or reconfiguration procedure is
invoked.
The TCP sender is unaware of this incident. Hence, it mistakes this delay of
ACK arrival, or the increase in RTT, as signs of network congestion.
Accepting this belief implies that the source node begins to reduce its
transmission window size and initiates SS, which significantly reduces
communication throughput performance unncessarily.
33
Overview
34
Specific problems of TCP over MANETs
1. TCP misinterprets route failures as congestion
Effects: Reduce sending rate
Buffered packets (Data and ACKs) at intermediate nodes are
dropped.
Sender encounters timeout.
Under prolonged disconnection, a series of timeouts may be
encountered.
35
Specific problems of TCP over MANETs
ACKs stream
36
Specific problems of TCP over MANETs
4. Delay spike causes TCP to invoke unnecessary
retransmissions
Effects: Performance drops and many unnecessary
retransmissions. [Ludwig & Katz]
Variability: Spikes are not uncommon here
Spikes throw off parameter estimation and tuning
RTO, window size, slow-start threshold
38
Indirect TCP
proposed to resolve the disconnection issues in a mobile Internet
environment where one of the links in a TCP connection is a wireless link.
In mobile IP, mobility is handled at the network layer, where packets are
tunneled from the home agent to the foreign agent when a mobile host
moves.
While this principle of tunnelling works for datagram flows, TCP flows will
be affected by mobility since TCP is an end-to-end protocol.
An endpoint is defined by a socket at the transport layer. A socket contains the
source and destination addresses, along with their port numbers.
Applications use these sockets to send and receive data. When a TCP connection is
established, it remains active until it is disconnected.
During the lifetime of a fixed host-to-mobile host TCP connection, the mobile host could
have moved to another location.
This breaks the connection and TCP has no way of handling such a change.
39
Indirect TCP
I-TCP requires the transfer of connection states from one
mobile support router (MSR) to the other.
I-TCP partitions the mobile TCP connection into two
segments, namely:
A regular TCP connection segment between the fixed host
and MSR
A dynamic segment between the MSR and mobile host
In ITCP, the MSR has to perform some transport-layer
functions
To hand off a mobile TCP connection, I-TCP uses a socket
migration technique,
40
TCP Snoop
With the help of a snoop agent present at the radio base station,
lost segments are detected and retransmitted locally, without
intervention by the sender.
last-hop round trip times are estimated.
41
TCP Snoop
For data flow from the mobile to a fixed host in the backbone wired
network, a mechanism known as Explicit Loss Notification
(ELN) is used.
42
Solutions for TCP in MANETs
Various solutions present
Most solutions generally tackle a subset of the problem
Often, fixing one part of TCP breaks another part
Competing interests exist in the standards laid out by OSI
43
Solution Topology
44
Why focus on Transport layer protocol
based solutions?
We want to choose solutions which maintain close
connection to TCP
Upper layers in the OSI model affected by choice of
transport layer protocol
Modifications may affect interactions with the Internet
Alternative methods only useful for isolated networks
Incur min connection setup and connection maintenance
overheads.
To provide both reliable and unreliable connections as per
requirement of the application layer
45
Approaches to TCP over Ad Hoc
1. TCP Feedback (TCP-F)
Introduced in 1998,
TCP-F allows the source to be informed of a route disconnection
as a result of node.
When a link in a route is broken, the upstream node that detects
the disconnection will send a Route Failure Notification (RFN)
message back to the source.
Upon receiving this message, the source enters SNOOZE state.
46
TCP-F protocol state machine
47
When the TCP source enters SNOOZE state, it performs the
following:
The source stops transmitting all data packets (i.e., be it new or
retransmitted data).
The source freezes all its timers, the current cwnd size, and values
of other state variables, such as the retransmission timer value.
The source then initiates a route failure timer, whose value will depend on the
worst-case route repair time.
48
2. TCP-BuS
TCP with buffering capability and sequence information (TCP-BuS)
The TCP principle deals with end-to-end connections. However, an ad
hoc wireless connection comprises multiple wireless links.
Hence, trying to provide flow and congestion control at the source and
destination nodes is neither sufficient nor situable.
Explicit notifications
Explicit notifications are used to differentiate between network congestion
and route failure as a result of mobility.
The node that detects a route disconnection sends an Explicit Route
Disconnection Notification (ERDN) message back to the source. The
source then stops transmission.
When the route reconfiguration or repair process is completed, an Explicit
Route Successful Notification (ERSN) message is sent back to the source
via the pivoting node
51
TCP-BuS implements reliable transmission of control
messages through two possible approaches:
52
Sequence of events by TCP-BuS after a successful
route reconfiguration
53
54