Lecture 19 22. transport protocol for ad-hoc

54
Chandra Prakash LPU 19-22:::Transport protocol for Ad-Hoc

Transcript of Lecture 19 22. transport protocol for ad-hoc

Page 1: Lecture 19 22. transport protocol for ad-hoc

Chandra Prakash

LPU

19-22:::Transport

protocol for Ad-Hoc

Page 2: Lecture 19 22. transport protocol for ad-hoc

Objective

2

Introduction

Issues in Designing a Transport Layer Protocol for MANET

Designing Goals for TCP

Classification of Transport Layer Solutions

TCP Over Ad Hoc Wireless Networks,

Other Transport Layer Protocols for Ad Hoc Wireless

Networks

Page 3: Lecture 19 22. transport protocol for ad-hoc

3

Need of NEW Network Architecture The community recognizes the need for change

Wireline-centric network design is “obsolete”

New network environments have emerged

Ad hoc, sensors, consumer-owned, delay-tolerant

New networking technologies have emerged

UWB, cooperative approaches, MIMO, directed antennas

Introduction

Page 4: Lecture 19 22. transport protocol for ad-hoc

4

New Category of Networks

Thousands of nodes, highly resource constrained, highly unreliable wireless links, low duty cycle (smartdust)

Tens - thousands of nodes, Nano-sensors

Hundreds of nodes, resource constrained, unreliable wireless links (Sensors)

Tens of nodes, resource constrained, wireless links, charged every day (PDAs)

Tens of nodes, resource constrained, wireless links, line powered (embedded devices)

Tens of nodes, resource constrained, wireless links, line powered (computers)

Introduction

Page 5: Lecture 19 22. transport protocol for ad-hoc

5

A New Era Has Begun

New Machines

New Environments

Applications

New Networks

Introduction

Page 6: Lecture 19 22. transport protocol for ad-hoc

6

The Role of Networking is Central

Wireless

Networking

Embedded

Systems Sensors

Embedded

Sensor

Applications

Introduction

Page 7: Lecture 19 22. transport protocol for ad-hoc

7

Overview of

Transmission Control Protocol / Internet

Protocol

(TCP/IP)

Page 8: Lecture 19 22. transport protocol for ad-hoc

8

Internet Protocol (IP)

Packets may be delivered out-of-order

Packets may be lost

Packets may be duplicated

Page 9: Lecture 19 22. transport protocol for ad-hoc

9

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

Page 10: Lecture 19 22. transport protocol for ad-hoc

TCP:--- INTRODUCTION

10

One of the most popular and widely used end-to-end protocols for the Internet today.

In routing Protocol, packets are relayed hop-by-hop toward their destination.

TCP provides reliable end-to-end transmission of transport-level segments from source to receiver.

Transport segments arrive in sequence and lost segments are recovered.

TCP provides flow and congestion control functions, in addition to reliable transmission (i.e., through error recovery mechanisms).

Page 11: Lecture 19 22. transport protocol for ad-hoc

11

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

Page 12: Lecture 19 22. transport protocol for ad-hoc

12

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.

Page 13: Lecture 19 22. transport protocol for ad-hoc

TCP Flow Control

13

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.

The source node transmits more and more data if acknowledgements (ACKs) for previously transmitted segments are received successfully.

This regulation of traffic transmission in accordance with the congestion state and connection quality is known as flow control.

Transmitting segments at a rate faster than what the receiver can handle will result in receive buffer overflow and information loss.

How TCP detect a packet loss

Retransmission timeout (RTO)

Duplicate acknowledgements

Page 14: Lecture 19 22. transport protocol for ad-hoc

14

Detecting Packet Loss Using

Retransmission Timeout (RTO)

At any time, TCP sender sets retransmission timer for only

one packet

If acknowledgement for the timed packet is not received

before timer goes off, the packet is assumed to be lost

RTO dynamically calculated

Page 15: Lecture 19 22. transport protocol for ad-hoc

15

Window Based Flow Control

Sliding window protocol

Window size minimum of

receiver’s advertised window - determined by available buffer

space at the receiver

congestion window - determined by the sender, based on

feedback from the network

2 3 4 5 6 7 8 9 10 11 13 1 12

Sender’s window

Acks received Not transmitted

Page 16: Lecture 19 22. transport protocol for ad-hoc

16

Window Based Flow Control

Congestion window size bounds the amount of data that can

be sent per round-trip time

Throughput <= W / RTT

2 3 4 5 6 7 8 9 10 11 13 1 12

Sender’s window

2 3 4 5 6 7 8 9 10 11 13 1 12

Sender’s window

Ack 5

Page 17: Lecture 19 22. transport protocol for ad-hoc

17

Ideal Window Size

Ideal size = delay * bandwidth delay-bandwidth product

What if window size < delay*bw ? Inefficiency (wasted bandwidth)

What if > delay*bw ? Queuing at intermediate routers increased RTT due to queuing delays

Potentially, packet loss

Page 18: Lecture 19 22. transport protocol for ad-hoc

TCP Congestion Control

18

TCP congestion control consists of:

Slow start (SS),

Congestion avoidance (CA),

Fast retransmit/fast recovery.

The endpoint node concludes that congestion exists when an

increase in end-to-end delay is observed.

Retransmissions can further aggravate congestion since more

packets are injected into the network.

Page 19: Lecture 19 22. transport protocol for ad-hoc

19

Overview of TCP concepts

Conventional TCP: Tahoe, Reno, New-Reno

Sending rate is controlled by

Congestion window (cwnd): limits the # of packets in flight

Slow-start threshold (ssthresh): when CA start

Loss detection

3 duplicate ACKs (faster, more efficient)

Retransmission timer expires (slower, less efficient)

Overview of congestion control mechanisms

Slow-start phase: cwnd start from 1 and

increase exponentially

Congestion avoidance (CA): increase linearly

Fast retransmit and fast recovery: Trigger by 3

duplicate ACKs

Slo

w s

tart

Slo

w s

tart

Congestio

n

avoidance

Congestiondetected

Congestio

n

avoidance

Fast retransmit/fast recovery

1

2

3

4

threshold

threshold

Time

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 220

2

4

6

8

10

12

14

16

18

20

22

24

26

28

30

32

34

Co

ng

estio

n w

ind

ow

s s

ize

Overview

Slow-start Congestion

avoidance

Page 20: Lecture 19 22. transport protocol for ad-hoc

20

Upon starting a connection, or restarting after a packet loss, the congestion window (cwnd) size is set to one packet.

The TCP sender increases the cwnd size by one packet upon receipt of an ACK, until the first sign of congestion is detected.

Thereafter, backoff occurs and the window size is reduced to half the current window size (down to a minimum of one segment).

The SS process then begins again gradually.

SS threshold is introduced, which changes the increment gradient of segment transmission with respect to time

Each ACK received results in increasing the window by 1/cwnd-size.

In summary, an additive increase (SS)/multiplicative decrease (backoff) policy is used to avoid congestion in TCP.

Page 21: Lecture 19 22. transport protocol for ad-hoc

21

Congestion Avoidance and Control

Slow Start: cwnd grows exponentially with time during slow start

When cwnd reaches slow-start threshold, congestion avoidance is performed

Congestion avoidance: cwnd increases linearly with time during congestion avoidance

Rate of increase could be lower if sender does not always have data to send

Page 22: Lecture 19 22. transport protocol for ad-hoc

TCP congestion control

22

Page 23: Lecture 19 22. transport protocol for ad-hoc

Versions of TCP

23

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.

Tahoe detects packet losses by timeouts.

Page 24: Lecture 19 22. transport protocol for ad-hoc

Versions of TCP

24

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.

Page 25: Lecture 19 22. transport protocol for ad-hoc

Versions of TCP

25

TCP SACK TCP SACK (RFC 2018) enables to cope with a loss of more than one packet

by changing message structure (using TCP options)

TCP with selective acknowledgement (SACK) is an improvement over the Positive ACK with retransmission (PAR) scheme or an extension of TCP Reno

In PAR, the sender waits for an ACK from the receiver for each packet sent.

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.

Network congestion and delay can cause ACK replies to be delayed.

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 numbers to correctly associate packets with ACKs.

Page 26: Lecture 19 22. transport protocol for ad-hoc

TCP window-based selective repeat mechanism

26

Page 27: Lecture 19 22. transport protocol for ad-hoc

Problem over wireless network for

TCP

27

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.

Page 28: Lecture 19 22. transport protocol for ad-hoc

28

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.

Page 29: Lecture 19 22. transport protocol for ad-hoc

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

Page 30: Lecture 19 22. transport protocol for ad-hoc

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

Page 31: Lecture 19 22. transport protocol for ad-hoc

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

Power control – adjusting the transmission power of mobile nodes

31

Page 32: Lecture 19 22. transport protocol for ad-hoc

Issues of TCP over MANETs

TCP Congestion Control TCP uses the occurrence of losses to detect congestion In MANETs, random wireless errors and mobility serves as primary

contributor to losses as well as congestion More than 80% of the losses in the network are due to link failures Essentially, most losses in ad-hoc networks occur as a result of route failures

If TCP enters congestion control state because of packet losses caused by random wireless errors and mobility, then the throughput of TCP can be degraded significantly

32

Page 33: Lecture 19 22. transport protocol for ad-hoc

Problems Facing TCP in Wireless Ad Hoc

33

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.

A delay is incurred during this time when the route is repaired.

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.

Page 34: Lecture 19 22. transport protocol for ad-hoc

34

Why does TCP fail in MANETs?

Specific problems are identified:

1. TCP misinterprets route failures as congestion

2. TCP misinterprets wireless errors as congestion

3. Intra-flow and inter-flow contention reduce throughput and

fairness

4. Delay spike causes TCP to invoke unnecessary

retransmissions RTO too small unnecessary retransmissions.

5. Inefficiency due to the loss of retransmitted packet When retransmitted packet is lost timer expires performance drops

Overview

Page 35: Lecture 19 22. transport protocol for ad-hoc

35

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.

2. TCP misinterprets wireless errors as congestion

Effects: Incorrect execution of congestion control

Performance drops.

Wireless channel is error-prone compared to wireline

Fading, interference, noise

Page 36: Lecture 19 22. transport protocol for ad-hoc

36

3. Intra-flow and inter-flow contention

Effects: Increased delay, unpredictability, and unfairness.

Inter-flow contention: contention of nearby flows.

Intra-flow contention: between packets of the same flow

(e.g. forward data and reverse ACKs).

Wireline: only packet on same link “compete”

Data stream

ACKs stream

Specific problems of TCP over MANETs

Two nearby flows

Page 37: Lecture 19 22. transport protocol for ad-hoc

37

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

5.Inefficiency due to the loss of retransmitted packet

Effects: Performance drops significantly under high loss

environment (e.g. MANETs).

Losing a retransmitted packet hurts

TCP can recover from one loss (fast retransmission)

Wired networks: packet loss rate is low.

Here, high packet loss makes the problem significant

Specific problems of TCP over MANETs

Page 38: Lecture 19 22. transport protocol for ad-hoc

Problems Facing TCP in Wireless Last-Hop

38

Delays experienced at the wired and wireless links are different, and this can affect TCP flow and congestion control.

A wireless link over a cellular or wireless LAN is usually shared by multiple devices. The link delay varies with time.

Wireless transmissions are subject to multipath fading and signal jamming, which contribute to packet loss.

All these can affect the estimated round-trip time or timely arrival of TCP ACK packets.

Hence, some provisions are needed to make TCP wireless-aware so that it can adapt accordingly, without significantly affecting communication performance.

Page 39: Lecture 19 22. transport protocol for ad-hoc

39

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.

Page 40: Lecture 19 22. transport protocol for ad-hoc

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

Page 41: Lecture 19 22. transport protocol for ad-hoc

41

TCP Snoop

Link-aware transport protocol for wireless last-hop networks.

Addresses packet loss issues due to the presence of wireless links.

Such losses cause TCP to back off and time out, resulting in poor end-to-end communication performance.

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.

The suppression of duplicate ACKs corresponding to wireless losses from the TCP sender avoids unnecessary invocations of congestion control procedures by the sender.

Page 42: Lecture 19 22. transport protocol for ad-hoc

TCP Snoop

42

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.

ELN allows the decoupling of retransmissions from congestion control.

At the base station, packets that were lost in a single transmission window are detected and negative acknowledgments (NACKs) are sent back to the mobile host.

The NACK implementation is similar to TCP SACK

Page 43: Lecture 19 22. transport protocol for ad-hoc

43

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

Page 44: Lecture 19 22. transport protocol for ad-hoc

44

Solution Topology

Page 45: Lecture 19 22. transport protocol for ad-hoc

45

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

Page 46: Lecture 19 22. transport protocol for ad-hoc

Approaches to TCP over Ad Hoc

46

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.

Page 47: Lecture 19 22. transport protocol for ad-hoc

TCP-F protocol state machine

47

Page 48: Lecture 19 22. transport protocol for ad-hoc

48

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.

When the route repair complete message is received, data

transmission will be resumed and all timers and state variables will

be restored.

Page 49: Lecture 19 22. transport protocol for ad-hoc

49

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.

I-TCP breaks the TCP semantics by allowing the base station to perform transport-layer functions, that is, a TCP connection is now further broken into two segments. This is necessary since the link between the base station and mobile

terminal is wireless and special treatment is needed.

If this "segment" model is further extended to an ad hoc wireless connection, then flow and congestion control can be performed in the same vein, but in a distributed fashion.

Page 50: Lecture 19 22. transport protocol for ad-hoc

50

Five enhancements introduced in TCP-BuS include:

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

Extension of timeout values

It is necessary to account for the time needed for route reconfiguration or

repair.

In TCP-BuS, timeout values for buffered packets at the source and nodes along

the path to the pivoting node are doubled.

Page 51: Lecture 19 22. transport protocol for ad-hoc

TCP-BuS

51

Selective retransmission

In TCP, retransmission of lost packets on the path due to congestion

relies on a timeout mechanism

Avoidance of unnecessary requests for fast

retransmission

Reliable transmission of control messages

Page 52: Lecture 19 22. transport protocol for ad-hoc

52

TCP-BuS implements reliable transmission of control

messages through two possible approaches:

The source periodically sends PROBE messages to check if a

privoting node has successfully acquired a new partial path to the

destination.

Each intermediate node is responsible for sending an ERSN message

reliably to to its upstream node until it receives data packets.

Page 53: Lecture 19 22. transport protocol for ad-hoc

Sequence of events by TCP-BuS after a successful

route reconfiguration

53

Page 54: Lecture 19 22. transport protocol for ad-hoc

54