CMPE 257 Spring 20021 CMPE 257: Wireless and Mobile Networking Spring 2002 Week 7.

Slides:



Advertisements
Similar presentations
Comparison between DSR and AODV DSR Overview AODV Overview Similarity Difference Consequence.
Advertisements

1 Transport Protocols & TCP CSE 3213 Fall April 2015.
DSR The Dynamic Source Routing Protocol Students: Mirko Gilioli Mohammed El Allali.
CMPE 257 Spring CMPE 257: Wireless and Mobile Networking Spring 2005 E2E Protocols (point-to-point)
Improving TCP Performance over Mobile Ad Hoc Networks by Exploiting Cross- Layer Information Awareness Xin Yu Department Of Computer Science New York University,
Ranveer Chandra , Kenneth P. Birman Department of Computer Science
Improving TCP Performance over MANETs by Exploiting Cross-Layer Information Awareness Xin Yu NYU Presented by: David Choffnes.
1 TCP CSE May TCP Services Flow control Connection establishment and termination Congestion control 2.
MANETs Routing Dr. Raad S. Al-Qassas Department of Computer Science PSUT
TCP in Wireless Ad Hoc Networks
Special Topics on Wireless Ad-hoc Networks
6/3/ Improving TCP Performance over Mobile Ad Hoc Networks by Exploiting Cross-Layer Information Awareness CS495 – Spring 2005 Northwestern University.
CMPE 257: Wireless and Mobile Networking
An Analysis of the Optimum Node Density for Ad hoc Mobile Networks Elizabeth M. Royer, P. Michael Melliar-Smith and Louise E. Moser Presented by Aki Happonen.
CMPE 257 Spring CMPE 257: Wireless and Mobile Networking Spring 2002 Week 6.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 22 Introduction to Computer Networks.
TCP over ad hoc networks Ad Hoc Networks will have to be interfaced with the Internet. As such backward compatibility is a big issue. One might expect.
Improving TCP Performance over Ad-hoc Network 11/28/2000 Xuanming Dong, Duke Lee, and Jin Wang Course Project for EE228A --- Fall 2000 (Professor Jean.
1 TCP over Wireless (II) Based on a presentation by Nitin Vaidya.
CMPE Wireless and Mobile Networking 1 CMPE 257 Spring 2006 End-to-End Protocols 2 Wireless and Mobile Networks.
CS541 Advanced Networking 1 Mobile Ad Hoc Networks (MANETs) Neil Tang 02/02/2009.
CMPE 257 Spring CMPE 257: Wireless and Mobile Networking Spring 2005 E2E Protocols (point-to-point) E2E Protocols (multipoint)
Transport Protocols for Wireless Networks CMPE Spring 2001 Marcelo M. de Carvalho.
Anonymous Gossip: Improving Multicast Reliability in Mobile Ad-Hoc Networks Ranveer Chandra (joint work with Venugopalan Ramasubramanian and Ken Birman)
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
TCP performance in Wireless Networks Ehsan Hamadani July 2004.
CMPE 257 Spring CMPE 257: Wireless and Mobile Networking Spring 2005 E2E Protocols (point-to-point)
Ad Hoc Wireless Routing COS 461: Computer Networks
Slides from Prof. Sridhar Iyer, IIT Bombay
CIS 725 Wireless networks. Low bandwidth High error rates.
Itrat Rasool Quadri ST ID COE-543 Wireless and Mobile Networks
Qian Zhang Department of Computer Science HKUST Advanced Topics in Next- Generation Wireless Networks Transport Protocols in Ad hoc Networks.
10/1/2015 9:14 PM1 TCP in Mobile Ad-hoc Networks ─ Split TCP CSE 6590.
Mobile Routing protocols MANET
Mobile Adhoc Network: Routing Protocol:AODV
Improving TCP Performance over Mobile Networks Zahra Imanimehr Rahele Salari.
Improving QoS Support in Mobile Ad Hoc Networks Agenda Motivations Proposed Framework Packet-level FEC Multipath Routing Simulation Results Conclusions.
TCP PERFORMANCE OVER AD HOC NETWORKS Presented by Vishwanee Raghoonundun Assisted by Maheshwarnath Behary MSc Computer Networks Middlesex University.
1 Impact of transmission errors on TCP performance (Nitin Vaidya)
Dynamic Source Routing (DSR) Sandeep Gupta M.Tech - WCC.
S Master’s thesis seminar 8th August 2006 QUALITY OF SERVICE AWARE ROUTING PROTOCOLS IN MOBILE AD HOC NETWORKS Thesis Author: Shan Gong Supervisor:Sven-Gustav.
Wireless TCP. References r Hari Balakrishnan, Venkat Padmanabhan, Srinivasan Seshan and Randy H. Katz, " A Comparison of Mechanisms for Improving TCP.
Transport layer protocols The objectives of a transport layer protocol include the setting up of an end-to-end connection, end-to- end delivery of data.
Computer Networking Lecture 18 – More TCP & Congestion Control.
TCP on Wireless Ad Hoc Networks CS 218 Oct 22, 2003 TCP overview Ad hoc TCP : mobility, route failures and timeout TCP and MAC interaction study TCP fairness.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
Outline Wireless introduction Wireless cellular (GSM, CDMA, UMTS) Wireless LANs, MAC layer Wireless Ad hoc networks – routing: proactive routing, on-demand.
a/b/g Networks Routing Herbert Rubens Slides taken from UIUC Wireless Networking Group.
TCP OVER ADHOC NETWORK. TCP Basics TCP (Transmission Control Protocol) was designed to provide reliable end-to-end delivery of data over unreliable networks.
MOBILE TCP.
Multipath TCP in a Lossy ad hoc Wireless Network Medhocnet 2004 Bodrum, June 2004 Jiwei Chen, Kaixin Xu, Mario Gerla UCLA.
Ασύρματες και Κινητές Επικοινωνίες Ενότητα # 11: Mobile Transport Layer Διδάσκων: Βασίλειος Σύρης Τμήμα: Πληροφορικής.
ECE 4110 – Internetwork Programming
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
Ad Hoc On-Demand Distance Vector Routing (AODV) ietf
Improving Fault Tolerance in AODV Matthew J. Miller Jungmin So.
Reliable Adaptive Lightweight Multicast Protocol Ken Tang, Scalable Network Technologies Katia Obraczka, UC Santa Cruz Sung-Ju Lee, Hewlett-Packard Laboratories.
2005/12/14 1 Improving TCP Performance over Mobile Ad Hoc Networks by Exploiting Cross-Layer Information Awareness Xin Yu Department of Computer Science.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Performance Comparison of Ad Hoc Network Routing Protocols Presented by Venkata Suresh Tamminiedi Computer Science Department Georgia State University.
CMPE Wireless and Mobile Networking 1 Reliable Mutlicast in MANETs.
1 Ad-hoc Transport Layer Protocol (ATCP) EECS 4215.
UNIT-V Transport Layer protocols for Ad Hoc Wireless Networks
Ad-hoc Transport Layer Protocol (ATCP)
任課教授:陳朝鈞 教授 學生:王志嘉、馬敏修
TCP in Mobile Ad-hoc Networks
TCP in Wireless Ad-hoc Networks
Tema 6.- Redes inalámbricas Ad Hoc. TCP
Routing in Mobile Wireless Networks Neil Tang 11/14/2008
Impact of transmission errors on TCP performance
Presentation transcript:

CMPE 257 Spring CMPE 257: Wireless and Mobile Networking Spring 2002 Week 7

CMPE 257 Spring Announcements Grades up to report 3 are out. Midterm next class. Reading assignment 4 due May 17.

CMPE 257 Spring Today Transport layer (cont’d). TCP over satellite. TCP over MANETs. Reliable multicast.

CMPE 257 Spring Transport Layer: Outline TCP/IP basics. Impact of transmission errors on TCP performance. Approaches to improve TCP performance. Classification. Discussion of selected approaches. TCP over satellite. Issues in MANETs.

CMPE 257 Spring TCP Over Satellite

CMPE 257 Spring Satellite Links High bandwidth-delay product. Higher error rates than terrestrial links.

CMPE 257 Spring Improving TCP over Satellite Extension of sequence number space with timestamp option. Larger congestion window (window scale option) Maximum window size up to 2^30 (instead of 2^16) bytes. Acknowledge every packet (do not delay acks). Selective acks Allow multiple packet recovery per RTT and avoid slow-start.

CMPE 257 Spring Some Proposals Space Communications Protocol Standard- Transport Protocol (SCPS-TP) [Durst96]. During link outage, TCP sender freezes itself, and resumes when link is restored Outage assumed to occur in both directions simultaneously Ground station can detect outage of incoming link (for instance, by low signal levels). Sender does not unnecessarily timeout or retransmit until it is informed that link has recovered. Sack to recover losses quickly.

CMPE 257 Spring Some Proposals (Cont’d) Satellite Transport Protocol (STP) [Henderson98] Uses split connection approach. Protocol on satellite channel different from TCP. Sacks when receiver detects losses. Transmitter periodically requests receiver to ack received data. Reduces reverse channel bandwidth usage when losses are rare.

CMPE 257 Spring Some Proposals (Cont’d) TCP Spoofing Early ACKing. A la Snoop TCP. Ground station acks packets Should take responsibility for delivering packets. Early acks from ground station result in faster congestion window growth.

CMPE 257 Spring TCP in Mobile Ad Hoc Networks

CMPE 257 Spring Issues Route changes due to mobility. Route change frequency. Route establishment delay. Wireless transmission errors. Problem compounded due to multiple hops. Out-of-order packet delivery. Frequent route changes may cause OOO delivery. MAC. MAC protocol can impact TCP performance.

CMPE 257 Spring Throughput over Multi-Hop Wireless Paths [Gerla99] When contention-based MAC protocol is used, connections over multiple hops are at a disadvantage compared to shorter connections. They have to contend for wireless access at each hop. Delay or drop probability increases with number of hops.

CMPE 257 Spring Analysis of TCP Performance over MANETs [Holland99] Impact of mobility. Simulation study. Performance metric: throughput. Baseline: ideal (expected) throughput. Upper bound. Static network.

CMPE 257 Spring Ideal Throughput f(i) = fraction of time for which shortest path length between sender and destination is I. T(i) = throughput when path length is I (no mobility). Ideal throughput =  f(i) * T(i)

CMPE 257 Spring Throughput versus Hops TCP throughput over 2 Mbps MAC, fixed, linear MANET.

CMPE 257 Spring Throughput versus speed Speed (m/s) Average Throughput Over 50 runs Ideal Actual Throughput decreases with speed…

CMPE 257 Spring Throughput versus Speed Mobility pattern # Actual throughput 20 m/s 30 m/s But not always…

CMPE 257 Spring Impact of Mobility TCP Throughput Ideal throughput (Kbps) Actual throughput 2 m/s10 m/s

CMPE 257 Spring Impact of Mobility Ideal throughput Actual throughput 20 m/s 30 m/s

CMPE 257 Spring mobility causes link breakage, resulting in route failure TCP data and acks en route discarded Why Throughput Degrades TCP sender starts sending packets again Route is repaired No throughput despite route repair

CMPE 257 Spring mobility causes link breakage, resulting in route failure TCP data and acks en route discarded Why Throughput Degrades? TCP sender times out. Backs off timer. Route is repaired TCP sender resumes sending Larger route repair delays especially harmful No throughput despite route repair

CMPE 257 Spring Why Throughput Improves? Low Speed Scenario C B D A C B D A C B D A 1.5 second route failure Route from A to D is broken for ~1.5 second. When TCP sender times after 1 second, route still broken. TCP times out after another 2 seconds, and only then resumes.

CMPE 257 Spring Why Throughput Improves? Higher Speed Scenario C B D A C B D A C B D A 0.75 second route failure Route from A to D is broken for ~ 0.75 second. When TCP sender times after 1 second, route is repaired.

CMPE 257 Spring Why Throughput Improves? General Principle TCP timeout interval somewhat independent of speed. Network state at higher speed, when timeout occurs, may be more favorable than at lower speed. Network state: Link/route status. Route caches. Congestion.

CMPE 257 Spring How to Improve Throughput Network feedback. Inform TCP of route failure explicitly. Let TCP know when route is repaired. Probing. Explicit notification. Reduces repeated TCP timeouts and backoff.

CMPE 257 Spring Performance Improvement Without network feedback Ideal throughput 2 m/s speed With feedback Actual throughput

CMPE 257 Spring Performance Improvement Without network feedback With feedback Ideal throughput 30 m/s speed Actual throughput

CMPE 257 Spring Performance with Explicit Notification

CMPE 257 Spring Issues: Network Feedback Network knows best (why packets are lost). + Network feedback beneficial. - Need to modify transport & network layer to receive/send feedback Need mechanisms for information exchange between layers.

CMPE 257 Spring Impact of Caching Route caching has been suggested as a mechanism to reduce route discovery overhead (e.g., DSR). Each node may cache one or more routes to given destination. When route from S to D detected as broken, node S may: Use another cached route from local cache, or Obtain a new route using cached route at another node.

CMPE 257 Spring To Cache or Not to Cache Average speed (m/s) Actual throughput (as fraction of expected throughput)

CMPE 257 Spring Why Performance Degrades With Caching When a route is broken, route discovery returns cached route from local cache or from nearby node. Cached routes may also be broken. timeout due to route failure timeout, cached route is broken timeout, second cached route also broken

CMPE 257 Spring To Cache or Not to Cache Caching can result in faster route “repair”. But, faster does not necessarily mean correct. If incorrect repairs occur often enough, caching performs poorly. Need mechanisms for determining when cached routes are stale.

CMPE 257 Spring Caching and TCP Performance Caching can reduce overhead of route discovery even if cache accuracy is not very high. But if cache accuracy is not high enough, gains in routing overhead may be offset by loss of TCP performance due to multiple timeouts.

CMPE 257 Spring Window Size After Route Repair When route breaks: may be too optimistic or may be too conservative. Better be conservative than overly optimistic Reset window to small value after route repair. TCP needs to be aware of route repair (Route Failure and Route Re-establishment Notifications). Impact low on paths with small delay-bw product.

CMPE 257 Spring RTO After Route Repair If new route longer, RTO may be too small, leading to timeouts. New RTO = function of old RTO, old route length, and new route length. Example: new RTO = old RTO * new route length / old route length Not evaluated yet.

CMPE 257 Spring Impact of MAC - Delay Variability Shared wireless medium (and contention MACs) causes RTT to be highly variable. On slow wireless networks, delay is larger. Large and variable RTTs result in larger RTO. On packet loss, timeout takes much longer to occur. Idle source (waiting for timeout to occur) lowers TCP throughput.

CMPE 257 Spring Impact of MAC - Delay Variability [Balakrishnan97] Basic idea: minimize ack transmissions. Reduce frequency of send-receive turnaround and contention between acks and data. Piggybacking link layer acks with data. Sending fewer TCP acks - ack every d-th packet (d may be chosen dynamically). Ack filtering - older acks in the queue, if new ack arrives.

CMPE 257 Spring TCP Over Different Routing Protocols [Dyer2001] Impact of routing algorithm on TCP performance. Metrics: connect time, throughput and overhead. On-demand versus proactive. Proactive routing protocol outperforms reactive ones. Why? Sender-based heuristic to improve TCP’s performance.

CMPE 257 Spring Fixed-RTO TCP does not exponentially backoff the RTO. Uses sender-based heuristic to distinguish between congestion and “route failure” losses. Route failure assumed if 2 consecutive timeouts. Unack’d packet retransmitted. No RTO backoff in the second (and +) timeout. RTO remains fixed until retransmission is ack’d.

CMPE 257 Spring Out-of-Order Packet Delivery Route changes may result in out-of-order (OOO) delivery. Significantly OOO delivery confuses TCP, triggering fast retransmit or… Potential solutions: Avoid OOO delivery by ordering packets before delivering to IP layer Turn off fast retransmit. Can result in poor performance in presence of congestion

CMPE 257 Spring TCP DOOR [Wang2002] Detect and respond to out-of-order (OOO) packets. Differentiate between OOO and congestion losses. OOO delivery caused by: Retransmissions. Route changes.

CMPE 257 Spring Detecting OOO Sender detects OOO ACKs. Receiver detects OOO data packets. How would you classify their scheme?

CMPE 257 Spring OOO ACKs Sequence number of packet being ACKed: monotonically increasing. Why? ACKs are not re-transmitted. When would this not work? For DUPACKs, add 1-byte to count DUPACKs. ADSN: ACK duplication sequence number. TCP header option. Each DUPACK carries different ADSN.

CMPE 257 Spring OOO Data Packets At receiver. Why comparing sequence numbers doesn’t work? Retransmissions: higher sequence #’s can arrive earlier. Out-of-sequence event. Use extra sequence number: incremented with every data packet, including retransmissions. 2-byte TCP packet sequence number (TPSN) as TCP option. Or timestamp. Sender needs to be notified.

CMPE 257 Spring OOO Response At sender. 2 types of response: Temporary disable congestion control for fixed time interval T1. If in congestion avoidance mode in the last T2 time interval, go back to prior state.

CMPE 257 Spring Evaluation Simulation environment: ns-2 + CMU extensions. Mobility: random way-point. Comments? Workload: single TCP between fixed S and R with and without congestion. Comments? What other info will be useful in analysis?

CMPE 257 Spring Results Significant goodput improvement (~50%) when 2 response mechanisms used. Sender versus receiver detection. Seem to perform the same. Correlation between OOO ACKs and data. Response mechanisms. Both in place show better performance.

CMPE 257 Spring DSR Caching With DSR caching enabled, lower performance improvements. Claim TCP performance was better than when caching was off. Why?

CMPE 257 Spring Reliable Mutlicast in MANETs

CMPE 257 Spring Motivation Group communication services as important application class for key MANET scenarios: special operations, exploration, etc. E.g., teleconferencing and data dissemination. Multicast: efficient way of delivering many-to-many data.

CMPE 257 Spring Challenges Achieve reliability in the presence of constant mobility, route changes, transmission errors over multi-hop wireless routes. MANETs are very sensitive to load and congestion. Contention-based MACs. Hidden terminal problems. Not much has been done…

CMPE 257 Spring Reliable Broadcast [Pagani1997] Special case: all nodes are receivers. Reliable broadcast: all nodes deliver same set of messages to application. “Exactly-once” semantics. Assumes underlying clustering algorithm.

CMPE 257 Spring Primitives rbcast (msg, group-id) Caller blocks until message received by clusterhead. deliver(msg) Notification of mssage reception by all other nides.

CMPE 257 Spring Entities Gateway Cluterhead

CMPE 257 Spring Protocol Sender sends message to its clusterhead. Clusterhead broadcasts message within cluster and waits for ACKs. Nodes reply with ACK. Gateways forward message to directly connected clusters (through clusterheads). Gateway delays its ACK until it gets ACK from corresponding clusterheads.

CMPE 257 Spring Protocol (Cont’d) If same message received over multiple paths: clusterhead selects one; piggybacks the sender id in the message and broadcasts. Non-selected gateway receives the broadcast and records it’s the leaf for that message. Prevents loops, allows multi-path, reduces duplicates. Reverse path is recorded: ACKs flow back.

CMPE 257 Spring Failures and Mobility Timeouts and retransmissions. Recovery by clusterheads & gateways.

CMPE 257 Spring Summary 2 phases: Diffusion: message diffused from source to destinations. Gathering: source collects ACKs. On-demand forwarding tree rooted at source. If “virtual” links break, flooding is used. Clusterheads buffer messages until ACK comes back. Reliability guaranteed as long as “liveness” property holds. Topology is stable enough.

CMPE 257 Spring Issues Larger networks? High delays. Target smaller groups (10->100???). What happens when clusterheads and gateways fail/move? Satisfying “liveness” is tricky. Heavy duty protocol. State at nodes. ACKs for reliability.

CMPE 257 Spring Anonymous Gossip [Chandra2001] Approach: Use of underlying “best-effort” multicast routing mechanism. Repair losses through gossip-based propagation. Gossip propagation is well-known! Examples?

CMPE 257 Spring Gossip Round Node A randomly chooses node B. A and B exchange information on messages they have and don’t have. A and B exchange missing messages.

CMPE 257 Spring Anonymity No need for membership information. gossip-message and gossip-reply. Node selects random neighbor and sends gossip-message. If node is not group member, selects neighbor and forwards; if member, decides to accept or forward. If accepts, unicasts gossip-reply back.

CMPE 257 Spring Locality Choosing closer-by or farther members. Why is this an issue? Choose near members with higher probability. Need to keep extra state: nearest-member. Extra overhead to maintain this information. Dependence on the underlying routing protocol!

CMPE 257 Spring Cached Gossip Gossip with known members. member-cache keeps information on known members. Updated when messages are received (data, gossip-reply, RREQ, etc.). Node uses AG with probability p anon ; otherwise cached gossip. Why cached gossip?

CMPE 257 Spring Performance Evaluation Simulations using GloMoSim. M-AODV. Single source. Random way-point. Parameters: range, number of nodes, and maximum node speed.

CMPE 257 Spring Results Improves packet delivery ratio. Overhead? Delay? Comparison with flooding?

CMPE 257 Spring CALM [Tang2002] Like AG, e2e approach. Initial study comparing SRM to UDP showed SRM performs badly in MANETs. Why? SRM is heavy duty. No congestion control!

CMPE 257 Spring Impact of Congestion Control on Reliability? CALM uses “rate-based” CC. Data is sent at application rate. If congestion, sender clocks sending rate based on receivers experiencing congestion. Congested receivers kept in receiver- list. Feedback is unicast to the source. Generated after N consecutive packets are missing.

CMPE 257 Spring CALM’s State Machine IDLE TX WF_ACK No packets to send Send packet, Receiver List empty Has packet to send Timeout, keep receiver in Receiver List Send packet, Receiver List not empty (addressed to a receiver in list) Recv ACK, remove receiver from Receiver List * ACK, remove receiver from Receiver List * ACK, remove receiver from Receiver List * ACK, remove receiver from Receiver List

CMPE 257 Spring Evaluation Simulations using QualNet. Comparison between CALM, SRM, and (multicast) UDP. ODMRP. Metrics: packet delivery, overhead, delay, goodput.

CMPE 257 Spring Results CALM outperforms SRM. UDP performs surprisingly well, except under high traffic loads. Proves need for congestion control. SRM’s main problem is extra load caused by its control packets. Congestion control helps but still need relaibility.

CMPE 257 Spring Ongoing Work RALM: reliability+congestion control. Make control mechanisms scalable. Select smaller set of receivers (maybe 1). Use rate-based CC instead of stop-and-go. Interaction with MAC layer. Comparison with AG and use different routing protocols. ….