Transport layer protocols for ad hoc networks



Similar documents
TRANSPORT LAYER AND SECURITY PROTOCOLS FOR AD HOC WIRELESS NETWORKS

Transport layer issues in ad hoc wireless networks Dmitrij Lagutin,

How To Write A Transport Layer Protocol For Wireless Networks

TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP)

TCP in Wireless Mobile Networks

Lecture Objectives. Lecture 07 Mobile Networks: TCP in Wireless Networks. Agenda. TCP Flow Control. Flow Control Can Limit Throughput (1)

Mobile Communications Chapter 9: Mobile Transport Layer

Transport Layer Protocols

TCP and Wireless Networks Classical Approaches Optimizations TCP for 2.5G/3G Systems. Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

TCP over Wireless Networks

Computer Networks. Chapter 5 Transport Protocols

TCP for Wireless Networks

Student, Haryana Engineering College, Haryana, India 2 H.O.D (CSE), Haryana Engineering College, Haryana, India

TCP Over Wireless Network. Jinhua Zhu Jie Xu

Outline. TCP connection setup/data transfer Computer Networking. TCP Reliability. Congestion sources and collapse. Congestion control basics

A Survey on Congestion Control Mechanisms for Performance Improvement of TCP

Mobile Computing/ Mobile Networks

TCP in Wireless Networks

A Survey: High Speed TCP Variants in Wireless Networks

Lecture 15: Congestion Control. CSE 123: Computer Networks Stefan Savage

Improving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation

Congestions and Control Mechanisms n Wired and Wireless Networks

ICOM : Computer Networks Chapter 6: The Transport Layer. By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 UPRM

STUDY OF TCP VARIANTS OVER WIRELESS NETWORK

TCP Westwood for Wireless

TCP/IP Optimization for Wide Area Storage Networks. Dr. Joseph L White Juniper Networks

A Survey on Improving TCP Performance over Wireless Networks

An enhanced TCP mechanism Fast-TCP in IP networks with wireless links

CS268 Exam Solutions. 1) End-to-End (20 pts)

La couche transport dans l'internet (la suite TCP/IP)

[Prof. Rupesh G Vaishnav] Page 1

Simulation-Based Comparisons of Solutions for TCP Packet Reordering in Wireless Network

Names & Addresses. Names & Addresses. Hop-by-Hop Packet Forwarding. Longest-Prefix-Match Forwarding. Longest-Prefix-Match Forwarding

AN IMPROVED SNOOP FOR TCP RENO AND TCP SACK IN WIRED-CUM- WIRELESS NETWORKS

Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP

APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM

CSE331: Introduction to Networks and Security. Lecture 9 Fall 2006

Final for ECE374 05/06/13 Solution!!

Visualizations and Correlations in Troubleshooting

Congestion Control Review Computer Networking. Resource Management Approaches. Traffic and Resource Management. What is congestion control?

An Improved TCP Congestion Control Algorithm for Wireless Networks

SJBIT, Bangalore, KARNATAKA

TCP/IP Over Lossy Links - TCP SACK without Congestion Control

A Study on TCP Performance over Mobile Ad Hoc Networks

Behavior Analysis of TCP Traffic in Mobile Ad Hoc Network using Reactive Routing Protocols

TCP/IP Networking for Wireless Systems. Integrated Communication Systems Group Ilmenau University of Technology

TCP Flow Control. TCP Receiver Window. Sliding Window. Computer Networks. Lecture 30: Flow Control, Reliable Delivery

First Midterm for ECE374 03/09/12 Solution!!

CSE 473 Introduction to Computer Networks. Exam 2 Solutions. Your name: 10/31/2013

Chapter 6 Congestion Control and Resource Allocation

Access Control: Firewalls (1)

La couche transport dans l'internet (la suite TCP/IP)

High Performance VPN Solutions Over Satellite Networks

This sequence diagram was generated with EventStudio System Designer (

B-2 Analyzing TCP/IP Networks with Wireshark. Ray Tompkins Founder of Gearbit

Improved Digital Media Delivery with Telestream HyperLaunch

Computer Networks UDP and TCP

IP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP

Higher Layer Protocols: UDP, TCP, ATM, MPLS

QoS issues in Voice over IP

Transport and Network Layer

Chapter 5. Transport layer protocols

How do I get to

Optimization of Communication Systems Lecture 6: Internet TCP Congestion Control

CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING

A Comparison of TCP Performance over Three Routing Protocols for Mobile Ad Hoc Networks

DSR: The Dynamic Source Routing Protocol for Multi-Hop Wireless Ad Hoc Networks

Active Queue Management (AQM) based Internet Congestion Control

International Journal of Scientific & Engineering Research, Volume 6, Issue 7, July ISSN

IP - The Internet Protocol

EINDHOVEN UNIVERSITY OF TECHNOLOGY Department of Mathematics and Computer Science

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

Data Networks Summer 2007 Homework #3

Low-rate TCP-targeted Denial of Service Attack Defense

Ad hoc and Sensor Networks Chapter 13: Transport Layer and Quality of Service

The Problem with TCP. Overcoming TCP s Drawbacks

Route Discovery Protocols

Overview of TCP/IP. TCP/IP and Internet

Recent advances in transport protocols

Effect of Packet-Size over Network Performance

Distributed Systems 3. Network Quality of Service (QoS)

Ethernet. Ethernet. Network Devices

1. The subnet must prevent additional packets from entering the congested region until those already present can be processed.

15-441: Computer Networks Homework 2 Solution

TCP PACKET CONTROL FOR WIRELESS NETWORKS

Research of TCP ssthresh Dynamical Adjustment Algorithm Based on Available Bandwidth in Mixed Networks

The OSI & Internet layering models

COMP 361 Computer Communications Networks. Fall Semester Midterm Examination

SELECTIVE-TCP FOR WIRED/WIRELESS NETWORKS

Protocols. Packets. What's in an IP packet

TCP in Wireless Environments: Problems and Solutions

Transcription:

Transport layer protocols for ad hoc networks Lecturer: Dmitri A. Moltchanov E-mail: moltchan@cs.tut.fi http://www.cs.tut.fi/kurssit/tlt-2616/

Which transport layer protocol? Classification of transport layer protocols; Traditional TCP; Why does not TCP work well in ad-hoc networks? TCP enhancements; Other transport layer protocols. Lecture: Transport layer protocols for ad hoc networks 2

1. Which transport layer protocol? TCP dominates in wired Internet with the traffic share in between 80% 90%. It is characterized by the following properties: TCP is reliable; TCP incorporates congestion control mechanism; TCP incorporates end-to-end flow control mechanism. The following observations can be made concerning ad-hoc networks: it is preferable to seamlessly integrate TCP in ad-hoc networks: to enable seamless operation of higher layer protocols such as FTP, SMTP, HTTP. if not, to make as less modifications to TCP as possible: to make wireless and wired TCPs understand each other seamlessly. if not, to split the TCP into wireless and wired part: to concentrate internetworking functions in gateways. Lecture: Transport layer protocols for ad hoc networks 3

2. Classification of the transport layer protocols Transport layer protocols for ad-hoc wireless networks TCP modifications Split approaches End-to-end approaches - ACTP; - ATP. Other protocols - Split-TCP. - TCP-ELFN; - TCP-F; - TCP-BuS; - ATCP. Figure 1: Classification of transport layer protocols for ad-hoc networks. Lecture: Transport layer protocols for ad hoc networks 4

3. Traditional TCP The major responsibilities of TCP in an active session are to: provide reliable in-order transport of data: to not allow losses of data. control congestions in the networks: to not allow degradation of the network performance. control a packet flow between the transmitter and the receiver: to not exceed the receiver s capacity. In general, we distinguish between the following operational phases in TCP: slow-start phase (also known as exponential start); congestion avoidance phase; congestion control phase; fast retransmit phase; fast recovery. Lecture: Transport layer protocols for ad hoc networks 5

1. TCP SEGMENT STRUCTURE 32 bits Source port number Destination port number Sequence number Acknowledgement number Header length Unused U R G A C K P S H R S T S Y N F I N Window size Checksum Pointer to urgent data Options Data Figure 2: TCP segment structure. Lecture: Transport layer protocols for ad hoc networks 6

2. TCP CONNECTION ESTABLISHMENT AND TEAR DOWN Sender Receiver Conn. req. SYN segm. (SYN=1, seqnum= x, nodata, ) Conn. OK. SYNACK (SYN=1, seqnum= y, ack=x+1, nodata, ) ACK (SYN=0, seqnum=x+1, ack=y+1, nodata, ) FIN (FIN=1, nodata, ) ACK (nodata, ) FIN (FIN=1, nodata, ) ACK (nodata, ) Figure 3: TCP connection establishment and tear down. Lecture: Transport layer protocols for ad hoc networks 7

3. ROUND TRIP TIME AND TIMEOUT Every time TCP sends a segment, it starts a timeout: it must be larger than RTT: to avoid unnecessary retransmission; it should not be much larger than RTT: to not introduce big delays. The following dynamic expression is used for setting a timeout: Timeout = Estimate of RTT + 4 Deviation, where Sample RTT = t(the ACK is received) t(the segment is sent to IP); Estimate of RTT = (1 x) Estimate of RTT + x Sample RTT; x = 0, 125 is mostly chosen given more wait to recent Sample RTT; Deviation = (1 x)deviation + Sample RTT Estimate of RTT ; Note 1: small deviations of Sample RTT: Timeout > Estimate of RTT; Note 2: big deviation of Sample RTT: Timeout Estimate of RTT. Lecture: Transport layer protocols for ad hoc networks 8

3.1. Reliable in-order data delivery Reliable in-order data transfer of TCP ensures the following: data stream in the receiver s buffer is uncorrupted; data stream in the receiver s buffer is in order (no gaps, no duplications). TCP at the client: frames application layer data into segments; each time TCP releases a segment to IP layer a timer starts; the following three cases are possible here: if the timer expires and no ACK is received, the TCP retransmits a segment; if ACK is received the TCP should check: this is a first-time ACK: all data up to the acknowledged byte have received correctly and in order. this is a duplicate ACK (DUPACK): some data have been received out of order, retransmit the segment. Lecture: Transport layer protocols for ad hoc networks 9

3.2. Flow control rcvbuf data from IP Available space TCP data in the buffer reading rcvwin Figure 4: The receive window (rcvwin) at the receive buffer (rcvbuf). Flow control service is a rate matching provided by TCP using the dynamic rcvwin: rcvwin is sent with every ACK to the sender; initially, rcvwin = rcvbuf; for next ACK the receiver sends: rcvwin = rcvbuf ( lastbytercv lastbyteread ); the sender must ensure that ( lastbytesent lastbyteacked ) rcvwin to not overflow. Lecture: Transport layer protocols for ad hoc networks 10

3.3. TCP Tahoe congestion control Every transmission starts with connection setup and followed by slow start phase: the sender starts the session with a congestion window set to maximum segment size (MSS): it sends MSS bytes of data; starts retransmission timeout (RTO) and waits for acknowledgement packet (ACK). if ACK is received in RTO the congestion window is doubled and two MSSs of data are sent; the congestions window is doubled with every ACK until it reaches slow-start threshold; Congestion window size, MSSs 16 8 4 1 time Figure 5: Slow-start phase in TCP. Lecture: Transport layer protocols for ad hoc networks 11

The slow-start phase is followed by congestion avoidance phase: when the slow-start threshold is reached, the congestion window grows linearly (AI); if the ACKs are received before timers (RTOs) expire: the congestion window grows until the receiver window advertised in connection setup; (lastbytesent lastbyteacked) rcvwin to NOT allow overflow! Congestion window size, MSSs 16 8 4 1 time Figure 6: Congestion avoidance phase in TCP. Lecture: Transport layer protocols for ad hoc networks 12

If the ACK is not received in RTO, TCP assumes the packets is lost (congestion): TCP enters the congestion control phase performing the following: reduces the slow-start threshold to 1/2 of current CW (MD); resets the congestion window to one MSS; activates the slow-start algorithm and resets the timeout. Congestion window size, MSSs 18 16 8 4 1 time Figure 7: Congestion control phase in TCP. Lecture: Transport layer protocols for ad hoc networks 13

3.4. TCP Tahoe with fast retransmit TCP Tahoe uses the fast retransmit procedure to respond to losses: if the sender receives three out-of-order segment with higher than expected seq. number; resend the out-of-order segment before timeout expires and enter slow start phase. Sender Receiver Segment 1 DUPACK Segment 2 timeout out of order DUPACK Segment 3 DUPACK Segment 0 Figure 8: Fast retransmit procedure of TCP Tahoe. Lecture: Transport layer protocols for ad hoc networks 14

3.5. TCP Reno DUPACKs are not indication of severe congestion. On arrival of three DUPACKs: TCP Reno enters the fast recovery phase and performs the following actions; retransmits the lost segment and does not enter slow start phase; reduces the slow-start threshold to 1/2 of the current CW ; reduces the CW to a 1/2 of the current CW + 3. increases the CW linearly with reception of subsequent DUPACKs; one MSS per a DUPACK (meaning that one more packet left the network). on reception of ACK (this ACK is due to retransmission) the sender: resets the CW with the slow-start threshold; enters the congestion avoidance similar to TCP Tahoe. More improvements are available: TCP NewReno; TCP SACK. Lecture: Transport layer protocols for ad hoc networks 15

Congestion window size, MSSs 18 16 8 4 1 TCP Reno TCP Tahoe time Figure 9: Fast recovery procedure of TCP Reno. Lecture: Transport layer protocols for ad hoc networks 16

4. Why does not TCP work well in ad-hoc networks? The following reasons are behind the poor performance of TCP in ad-hoc networks: Misinterpretation of packet loss: wired networks: packets losses are mainly due to congestions; ad-hoc wireless networks: high packet loss due to: high BER (wired link < 10E 9, wireless link: 10E 5 10E 4 and even higher); collisions due to hidden terminal problem; interference: wired links are well isolated, wireless links interfere; frequent path breaks: wired: due to failures, wireless: mobility; large-scale and small-scale propagation phenomenons. Frequent path breaks: Frequent path path breaks topology changes route reconfigurations; RouteReconf. = f(number of node, Tx, topology, bandwidth, traffic, nature of routing); If RouteRecong. > RTO: TCP enters a slow start phase; Slow start: inefficient use of the resources. Lecture: Transport layer protocols for ad hoc networks 17

Effects of contention (dependency on the path length): With the increase in the number of hops in the path throughput decreases exponentially. Throughput 2 4 6 8 Number of hops Figure 10: Throughput as a function of the number of hops. What are the reasons? The probability of the path break is given as: p b = 1 (1 p l ) k, (1) where p l is the probability of the link break. Lecture: Transport layer protocols for ad hoc networks 18

Pr of path break 1 0.5 2 4 6 8 10 12 14 Number of hops Figure 11: Probability of path break as a function of the number of hops. Misinterpretation of congestion window: CW is the rate that is acceptable for the network and the receiver. old path: CW reflects its rates; reconfiguration occurs: what are new CW and RTO? new path: old CW may not reflect acceptable rates. Lecture: Transport layer protocols for ad hoc networks 19

Asymmetric link behavior: Sometimes wireless links are directional in ad-hoc networks leading to: delivery of a packet to a node and failure in the delivery of ACK back; congestion control algorithm could be invoked due to this; some routing protocols require the forward and backward paths to be the same. Resource contention: both DATA and ACK require RTS-CTS-DATA-ACK at the data-link layer; contention for resources in the same link at forward and backward paths; this contention may not be the same. Multipath routing: Some routing protocols use multiple paths between the source and destination leading to: high number of out-of-order packets leading to DUPACKs; different RTO values leading to unnecessary retransmissions. Lecture: Transport layer protocols for ad hoc networks 20

Network partitioning and merging: Figure 12: Partitioning and merging in ad-hoc networks. Lecture: Transport layer protocols for ad hoc networks 21

5. TCP enhancements 5.1. Feedback-based TCP (TCP-F) TCP-F requires the following to enhance performance: support of reliable data-link layer protocols; routing support to inform the TCP sender about path breaks; routing protocol is expected to repair the broken path within a reasonable time. The aim of TCP-F: minimize the throughput degradation resulting from path breaks. Receiver Sender Receiver Figure 13: Link break in ad-hoc network. Lecture: Transport layer protocols for ad hoc networks 22

In TCP-F an intermediate node upon detection of the link break: obtains information from TCP-F sender s packets routed via this node; generates a route failure notification (RFN) packet; routes this packet to the TCP-F sender; does not forward any packet from this connection; updates its routing table; stores information about generation of a RFN packet. Any intermediate node that forwards the RFN packet: if this node has an alternative route to destination: discards the RFN packet and uses this path to forward other packets: this allows to reduce an overhead involved in route re-establishment! if this node does not alternate route to destination: updates its routing table and forwards the RFN packet to the source. Lecture: Transport layer protocols for ad hoc networks 23

When TCP-F sender receives the RFN packet it enters the so-called snooze state: stops sending packet to the destination; cancels all the timers; freezes the congestion window; sets up a route failure timer = f(routing protocol, network size, network dynamic): when failure timer expires TCP-F enters the connected state. If the broken links rejoins or intermediate node obtains a new path to destination: route reestablishment notification (RRN) is sent to TCP-F sender; When the sender receives RRN packet: reactivates all timers and congestion window assuming that the network is back; starts transmitting data available in the buffer; takes care of packets lost due to path break. Lecture: Transport layer protocols for ad hoc networks 24

Sender (connected) A B C D Sender (from connected to snooze) A B C D RFN RFN Sender (from snooze to connected) A B C D RRN RRN Figure 14: Operation of TCP-F. Lecture: Transport layer protocols for ad hoc networks 25

The following advantages and shortcomings are inherent for TCP-F: +: provides simple feedback to minimize problems due to link breaks; +: still allows congestion control occurring due to buffer overflows; : requires merging of transport and network layer features (at least, cross-layering); : requires ability of nodes to detect path breaks; : requires ability of routing protocols to repair a link within a reasonable time; : requires ability of node to determine the TCP-F sender; : reactivated congestion window may not reflect allowed network rate. TCP-F End-to-end transport IP layer (routing) Routing updates Data-link layer (MAC part) Detection of link failures Figure 15: Communications in the protocol stack as required by TCP-F. Lecture: Transport layer protocols for ad hoc networks 26

5.2. TCP with explicit link failure notification (TCP-ELFN) According to TCP-ELFN an explicit link failure notification is used. When an intermediate node detects a link failure: sends an explicit link failure notification (ELFN) to TCP-ELFN sender: either sending an ICMP destination unreachable message (DUR); or inserting info regarding link break in RouteError message of the routing protocol. Once the TCP-ELFN sender receives the ELFN packet: it disables its retransmission timer and CW ; enters a standby state. Being in standby state the TCP-ELFN sender: periodically originates probe packets to see if a new route is established; when ACK for a probe packet is received TCP-ELFN continues to perform as usual. Lecture: Transport layer protocols for ad hoc networks 27

Sender (connected) A B C D Sender (standby) A B C D Sender (standby) ICMP(DUP), RouteError A B C D probe probe Sender (connected) A routeok B C D routeok Figure 16: Example of TCP-ELFN. +: provides path break information to the sender; +: does not heavily depend on routing protocol capabilities; : periodic packets consume bandwidth, sometimes it may not help (partitioning); : reactivated congestion window may not reflect the new allowed network rate. Lecture: Transport layer protocols for ad hoc networks 28

5.3. TCP with buffering and sequence information (TCP-BuS) TCP-BuS is characterized by the following: protocol tries to notify the source about the path breaks using the feedback info; this protocol is more dependent on routing protocol compared to TCP-F and TCP-ELFN. TCP-BuS was proposed for usage with associativity-based routing (ABR) and uses: localized query (LQ) message of ABR; REPLY message of ABR. Both these messages are modified to carry TCP connection and segment information. Sender intermediate upstream Receiver A B C D E intermediate downstream Figure 17: Basic definitions for TCP-BuS protocol. Lecture: Transport layer protocols for ad hoc networks 29

When a link break is detected, intermediate downstream node: generates a route notification (RN) message to TCP-BuS receiver: RN includes the sequence number of packet belonging to that flow in the head of its queue; all packets belonging to this flow are discarded at all intermediate nodes that forward RN. When a link break is detected, intermediate upstream node: generate explicit route disconnection notification (ERDN); when ERDN is received by the sender, it stops sending and freezes timers CW ; all packets in transit nodes are buffered, till new partial path is found by source of ERDN; tries to find a new (partial) route to the TCP-BuS receiver; if it finds, explicit route successful notification packet (ERSN) to the sender is sent. When ERDN is received the following is done at the sender: comparing sequence numbers segments are selectively retransmitted. Lecture: Transport layer protocols for ad hoc networks 30

TCP-BuS receiver 12 RN TCP flow 1 5 LQ 2 8 6 REPLY 3 9 ERDN 10 11 4 ERDN TCP-BuS sender 7 Figure 18: Operation of TCP-BuS connection. Lecture: Transport layer protocols for ad hoc networks 31

The following advantages and shortcomings are inherent for TCP-BuS: +: avoidance of retransmissions due to buffering, usage of sequence numbers; +: selective retransmission improves the performance of TCP; : dependency on the routing protocol (ABR); : buffering at intermediate nodes (they could be overflowed, thus, may fail). 5.4. Ad hoc TCP This is a wise realization of TCP with feedback due to: usage of explicit congestion notification field (currently is under consideration in IETF); usage of intermediate slim layer between traditional TCP and IP layer; only a few functions; does not require a certain routing protocol; adaptation of congestion window to a new path. Aim is the same: to treat path breaks independently from congestion situations. Lecture: Transport layer protocols for ad hoc networks 32

Data TCP ATCP tcp_input() atcp_input() tcp_output() atcp_output() IP ip_input() ip_output() Data Figure 19: TCP/IP layered model featuring ATCP. The following are advantages of such a layered structure: ATCP logic is separated from classic TCP; no changes to TCP are required; in principle, ATCP can be realized and installed separately from TCP; simple primitives can be defined between ATCP and TCP layers. Lecture: Transport layer protocols for ad hoc networks 33

retransmits a DISCONN segment from a buffer DUPACK/ACK DUR DUR DUR NORMAL DUR: destination unreachable Tx: packet transmission DUPACK: duplicate ACK LOSS 3 DUPACKs ACK ECN ECN Tx CONGESTED Figure 20: ATCP state transition diagram. when a TCP connection is established, ATCP enters the NORMAL state; in the NORMAL state ATCP does not interfere with classic TCP and remains invisible. Lecture: Transport layer protocols for ad hoc networks 34

Consider the case when packets are lost or arrive out-of-order at destination: the receiver generate DUPACKs: Traditional TCP (e.g. Tahoe): the sender retransmits the segment; decrease its congestion window accordingly. ATCP: counts, waits if the number of DUPACKs reaches three; if so, it puts ATCP in the LOSS state and does not invoke the congestion control; in the LOSS state ATCP retransmits unacked segments from the sender s buffer. When ATCP is in the LOSS state: if new ACK is received from the receiver ATCP enters the NORMAL state; if ECN is received it enters the CONGESTED state; if ICMP DUR is received it enters the DISCONNECTED state. Lecture: Transport layer protocols for ad hoc networks 35

When ATCP is in the NORMAL state: three DUPACKs are received ATCP enters goes to LOSS state; if ECN is received it enters the CONGESTED state and remains invisible for TCP; if ICMP DUP is received it enters the DISCONNECTED state. When ATCP is in the DISCONNECTED state: decrease the congestion window to one; remains in this state; if either ACK or DUPACK is received, it goes into NORMAL state. It is expected that the new route is found and the source is informed. When ATCP is in the CONGESTED state: if ICMP DUR is received it goes into DISCONNECTED state. Lecture: Transport layer protocols for ad hoc networks 36

In general, the following is made in ATCP: packet loss due to high BER: retransmits lost packet route reconfiguration delay and transient partitions: stops transmission until the new route has been found out-of-order packet delivery: makes classic TCP unaware of it and retransmits the packet from TCP buffer change in route: recomputes the congestion window The following advantages and shortcomings are inherent: +: compatible with traditional TCP; +: maintains the end-to-end semantics of TCP; : requires support from routing protocol (route changes, partition detection); : requires changes to interface functions. Lecture: Transport layer protocols for ad hoc networks 37

5.5. Split TCP The following are two major problems with TCP: degradation of throughput with increase in the path length: Short connections obtain more throughput than long connections. Throughput 2 4 6 8 Number of hops Figure 21: Throughput as a function of the number of hops. Lecture: Transport layer protocols for ad hoc networks 38

unfairness among TCP flows: MAC layer contention (IEEE 802.11 MAC: channel capture effect): lengthy TCP flows more points to contend. Figure 22: Unfairness in TCP flows in ad-hoc networks. Lecture: Transport layer protocols for ad hoc networks 39

Split-TCP provides the solution by splitting the TCP functionalities into two aims: congestion control; end-to-end reliability. Why it is possible? congestion control: local phenomenon due to high contention for resources; end-to-end reliability: end-to-end phenomenon. End-to-end delivery Congestions Figure 23: Congestion control and end-to-end reliability. Lecture: Transport layer protocols for ad hoc networks 40

Split-TCP splits the connection into a set of concatenated TCP connections. R segment 1 (zone 1) S segment 2 (zone 2) proxy node Figure 24: Splitting of the TCP connection into segments (zones). Proxy node is responsible for: terminating the connection from the sender/precessor proxy node; setting up a connection with receiver/successor node. Lecture: Transport layer protocols for ad hoc networks 41

Proxy nodes are chosen using the distributed algorithm: simplest way: packet traversed n hops - behave as a proxy. Transmission control at the TCP sender window is split into: end-to-end CW : it is updated according to arrival of end-to-end ACKs. CW : (CW end-to-end CW ) it is updated according to arrival of local ACKs (LACKs) from the next node. The proxy node behaves as follows: it maintains CW that governs transmission in a segment; when packet arrives from predecessor the LACK is sent back; arrived packet is buffered; the buffered packet is forwarded to the next node. Lecture: Transport layer protocols for ad hoc networks 42

R segment 1 (zone 1) S segment 2 (zone 2) proxy node TCP data flow; LACK; end-to-end ACK; network link. Figure 25: Flows in split-tcp. Lecture: Transport layer protocols for ad hoc networks 43

The following advantages and shortcomings are inherent for split-tcp: +: improved throughput: reduction in the path length; +: improved throughput fairness: each segment works at the most suitable rate; : requires modifications to TCP; : the end-to-end connection handling is violated; : the failure of proxy nodes may lead to throughput degradation; : security encryption schemes may not work (intermediate nodes have to process). : high resource consumption (buffer space). Lecture: Transport layer protocols for ad hoc networks 44

Table 1: Comparison of TCP solutions for ad-hoc networks. Issue TCP-F TCP-ELFN TCP-BuS ATCP Split-TCP loss due to BER TCP TCP TCP no cong. cntrl TCP path break TCP snoozes TCP standby TCP snoozes TCP TCP out-of-order pckts TCP TCP resend reordering TCP congestion TCP TCP TCP ECN notif. TCP path break notif. yes yes yes yes no path reest. notif. yes no yes no no depend. on routing. yes yes yes yes no end-to-end semant. yes yes yes yes no buffer at inter. nodes no no yes no yes Lecture: Transport layer protocols for ad hoc networks 45

6. Other transport layer protocols TCP was not developed for wireless links. What are advantageous features of TCP: end-to-end reliability; congestion control due to high traffic contention; end-to-end flow control. What are reasons to deploy TCP in ad-hoc networks: HUGE INSTALLATION BASE; TCP is not a good candidate for wireless mobile ad-hoc environment. New protocol: could be more suitable than TCP for ad-hoc networks and wireless links; could be useful in military/medical or other specific applications. Lecture: Transport layer protocols for ad hoc networks 46

6.1. Application controlled transport protocol (ACTP) ACTP is a light-weight transport layer protocol: TCP: High reliability a lot of retransmissions low throughput. UDP: Is not reliable at all a lot of data just lost low reliability. ACTP: Is between TCP and UDP some lost data may be recovered higher performance. ACTP is characterized by the following: it is responsible for feedback to end application; end-to-end reliability is left to applications; priorities of packet are implemented; implementation of priorities is left to lower layers. Lecture: Transport layer protocols for ad hoc networks 47

Application layer sendto(delay,message,priority) ACTP layer IP IPoutput() isacked() Figure 26: Interface function used in ACTP is shown here. Each data to be transmitted contains the following information: delay (a maximum tolerable delay); number of the packet; priority of the packet. The delivery status is maintained at ACTP and available to application via isacked(): successful delivery of the packet (ACK was returned); possible loss of the packet (ACK is not returned within a deadline); remaining time for the packet (ACK is not returned but the deadline has not expired); no information available. Lecture: Transport layer protocols for ad hoc networks 48

The following peculiarities are used in ACTP: packet lifetime 4 RT O; packet can be retransmitted on a request from application layer; delay 0 high priority packet; packet without a message number is handled as classic UDP packet. The following advantages and shortcomings are inherent for ACTP: +: scalable for large networks (light-weight); +: allows to set priorities to data; +: no congestion window; : congestions are possible; : is not compatible with TCP; : suitable for particular applications only. Lecture: Transport layer protocols for ad hoc networks 49

6.2. Ad-hoc transport protocol (ATP) The following are the major difference between ATP and TCP: ATP uses rate based transmission; ATP separates congestion control and reliability: network congestion information is obtained from intermediate nodes; flow control and reliability information is obtained from ATP receiver. ATP uses assisted congestion control; ATP uses selective ACKs (SACKs). ATP uses the information available from underlying layers for: estimation of the initial transmission rate; detection, avoidance and control of congestion; detection of path breaks. Lecture: Transport layer protocols for ad hoc networks 50

The congestion information obtained from intermediate node is expressed in terms: weighted average queuing delay D Q : D Q = xd Qnew + (1 x)d Qold, (2) contention delay D C. During the connection setup phase or when ATP recovers from path break: ATP sender determines the transmission rate sending probe packets (quick start phase); intermediate node attaches the rate info in form of D C and D Q ; receiver responds with ACK. At the uplink path the following always occurs: D Q and D C at each intermediate node is included in rate feedback field (ABR); ATP receiver collects D Q and D C and includes them in periodic SACKs. Lecture: Transport layer protocols for ad hoc networks 51

When congestion occurs TCP uses: decrease of the CW. Instead, ATP defines three phases: increase: If new rate (R) is higher than the current rate and beyond the threshold γ then: S new = S old + R S old, (3) k is used (increased) where k is the fraction used to avoid rapid fluctuations. decrease: If new rate is lower than current the rate is decreased to a new rate. maintain: if new rate is higher that current but less than the threshold. Lecture: Transport layer protocols for ad hoc networks 52

Consider special cases: ATP sender has not received ACK for two consecutive feedback periods: it undergoes multiplicative decrease of the transmission rate. ATP sender has not received ACK for three consecutive feedback periods: it assumes that the connection is lost and enters the connection establishment phase. When path break occurs: the network layer detects it and originated ELFN packet toward ATP sender; the ATP sender freezes the sender state and enters the connection establishment phase; if the connection is established the sender begins transmission again. The following advantages and shortcomings are inherent for ATP: +: improved performance in ad hoc network: decoupling of congestion control and reliability; avoiding fluctuations of the congestion window. : lack of interoperability with TCP. Lecture: Transport layer protocols for ad hoc networks 53