Title: CMPE 257: Wireless and Mobile Networking
1CMPE 257 Wireless and Mobile Networking
2Announcements
- Grades up to report 3 are out.
- Midterm next class.
- Reading assignment 4 due May 17.
3Today
- Transport layer (contd).
- TCP over satellite.
- TCP over MANETs.
- Reliable multicast.
4Transport 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.
5TCP Over Satellite
6Satellite Links
- High bandwidth-delay product.
- Higher error rates than terrestrial links.
7Improving TCP over Satellite
- Extension of sequence number space with timestamp
option. - Larger congestion window (window scale option)
- Maximum window size up to 230 (instead of 216)
bytes. - Acknowledge every packet (do not delay acks).
- Selective acks
- Allow multiple packet recovery per RTT and avoid
slow-start.
8Some 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.
9Some Proposals (Contd)
- 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.
10Some Proposals (Contd)
- 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.
11TCP in Mobile Ad Hoc Networks
12Issues
- 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.
13Throughput 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.
14Analysis of TCP Performance over MANETs
Holland99
- Impact of mobility.
- Simulation study.
- Performance metric throughput.
- Baseline ideal (expected) throughput.
- Upper bound.
- Static network.
15Ideal 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 S f(i) T(i)
16Throughput versus Hops
TCP throughput over 2 Mbps 802.11 MAC, fixed,
linear MANET.
17Throughput versus speed
Throughput decreases with speed
Ideal
Average Throughput Over 50 runs
Actual
Speed (m/s)
18Throughput versus Speed
But not always
30 m/s
20 m/s
Actual throughput
Mobility pattern
19Impact of MobilityTCP Throughput
2 m/s
10 m/s
Actual throughput
Ideal throughput (Kbps)
20Impact of Mobility
20 m/s
30 m/s
Actual throughput
Ideal throughput
21Why Throughput Degrades
22Why Throughput Degrades?
23Why Throughput Improves?Low Speed Scenario
D
D
D
C
C
C
B
B
B
A
A
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.
24Why Throughput Improves?Higher Speed Scenario
D
D
D
C
C
C
B
B
B
A
A
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.
25Why 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.
26How 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.
27Performance Improvement
Without network feedback
With feedback
Actual throughput
Ideal throughput 2 m/s speed
28Performance Improvement
Without network feedback
With feedback
Actual throughput
Ideal throughput 30 m/s speed
29Performance with Explicit Notification
30Issues 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.
31Impact 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.
32To Cache or Not to Cache
Actual throughput (as fraction of expected
throughput)
Average speed (m/s)
33Why 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.
34To 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.
35Caching 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.
36Window 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.
37RTO 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.
38Impact 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.
39Impact 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.
40TCP 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 TCPs
performance.
41Fixed-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.
- Unackd packet retransmitted.
- No RTO backoff in the second (and ) timeout.
- RTO remains fixed until retransmission is ackd.
42Out-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
43TCP DOOR Wang2002
- Detect and respond to out-of-order (OOO) packets.
- Differentiate between OOO and congestion losses.
- OOO delivery caused by
- Retransmissions.
- Route changes.
44Detecting OOO
- Sender detects OOO ACKs.
- Receiver detects OOO data packets.
- How would you classify their scheme?
45OOO 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.
46OOO Data Packets
- At receiver.
- Why comparing sequence numbers doesnt 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.
47OOO 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.
48Evaluation
- 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?
49Results
- 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.
50DSR Caching
- With DSR caching enabled, lower performance
improvements. - Claim TCP performance was better than when
caching was off. - Why?
51Reliable Mutlicast in MANETs
52Motivation
- 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.
53Challenges
- 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
54Reliable 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.
55Primitives
- rbcast (msg, group-id)
- Caller blocks until message received by
clusterhead. - deliver(msg)
- Notification of mssage reception by all other
nides.
56Entities
Gateway
Cluterhead
57Protocol
- 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.
58Protocol (Contd)
- 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 its the leaf for that message. - Prevents loops, allows multi-path, reduces
duplicates. - Reverse path is recorded ACKs flow back.
59Failures and Mobility
- Timeouts and retransmissions.
- Recovery by clusterheads gateways.
60Summary
- 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.
61Issues
- Larger networks?
- High delays.
- Target smaller groups (10-gt100???).
- What happens when clusterheads and gateways
fail/move? - Satisfying liveness is tricky.
- Heavy duty protocol.
- State at nodes.
- ACKs for reliability.
62Anonymous Gossip Chandra2001
- Approach
- Use of underlying best-effort multicast routing
mechanism. - Repair losses through gossip-based propagation.
- Gossip propagation is well-known!
- Examples?
63Gossip Round
- Node A randomly chooses node B.
- A and B exchange information on messages they
have and dont have. - A and B exchange missing messages.
64Anonymity
- 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.
65Locality
- 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!
66Cached 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 panon otherwise
cached gossip. - Why cached gossip?
67Performance Evaluation
- Simulations using GloMoSim.
- M-AODV.
- Single source.
- Random way-point.
- Parameters range, number of nodes, and maximum
node speed.
68Results
- Improves packet delivery ratio.
- Overhead?
- Delay?
- Comparison with flooding?
69CALM 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!
70Impact 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.
71CALMs State Machine
72Evaluation
- Simulations using QualNet.
- Comparison between CALM, SRM, and (multicast)
UDP. - ODMRP.
- Metrics packet delivery, overhead, delay,
goodput.
73Results
- CALM outperforms SRM.
- UDP performs surprisingly well, except under high
traffic loads. - Proves need for congestion control.
- SRMs main problem is extra load caused by its
control packets. - Congestion control helps but still need
relaibility.
74Ongoing Work
- RALM reliabilitycongestion 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. - .