You are on page 1of 77

Wireless LANs

Characteristics Infrastructure based


MAC (MACA) Routing (Mobile IP) Transport (TCP variants)

Adhoc networks
Routing protocols Transport issues

Implementations
802.11, HIPERLAN, Bluetooth

Other issues
Security

Wireless LANs: Characteristics


Types
Infrastructure based Adhoc

Advantages
Flexible deployment Minimal wiring difficulties More robust against disasters (earthquake etc) Historic buildings, conferences, trade shows,

Disadvantages
Low bandwidth compared to wired networks (1-10 Mbit/s) Proprietary solutions Need to follow wireless spectrum regulations

Infrastructure vs. Adhoc Networks


infrastructure network
AP AP wired network AP: Access Point

AP

ad-hoc network

Source: Schiller

Transmission: Infrared vs. Radio


Infrared
uses IR diodes, diffuse light, multiple reflections (walls, furniture etc.)

Radio
typically using the license free ISM band at 2.4 GHz

Advantages
experience from wireless WAN and mobile phones can be used coverage of larger areas possible (radio can penetrate walls, furniture etc.)

Advantages
simple, cheap, available in many mobile devices no licenses needed simple shielding possible

Disadvantages
interference by sunlight, heat sources etc. many things shield or absorb IR light low bandwidth

Disadvantages
very limited license free frequency bands shielding more difficult, interference with other electrical devices

Example
Ir DA (Infrared Data Association) interface available everywhere

Example
Wave LAN, HIPERLAN, Bluetooth

Source: Schiller

Wireless MAC: Motivation


Can we apply media access methods from fixed networks? Example CSMA/CD
Carrier Sense Multiple Access with Collision Detection send as soon as the medium is free, listen into the medium if a collision occurs (original method in IEEE 802.3)

Medium access problems in wireless networks


signal strength decreases proportional to the square of the distance sender would apply CS and CD, but the collisions happen at the receiver sender may not hear the collision, i.e., CD does not work CS might not work, e.g. if a terminal is hidden

Difference Between Wired and Wireless


Ethernet LAN
A B Wireless LAN B C A

If both A and C sense the channel to be idle at the same time, they send at the same time. Collision can be detected at sender in Ethernet. Half-duplex radios in wireless cannot detect collision at sender.

Hidden Terminal Problem

Hidden terminals
A and C cannot hear each other. A sends to B, C cannot receive A. C wants to send to B, C senses a free medium (CS fails) Collision occurs at B. A cannot receive the collision (CD fails). A is hidden for C.

Solution?
Hidden terminal is peculiar to wireless (not found in wired) Need to sense carrier at receiver, not sender! virtual carrier sensing: Sender asks receiver whether it can hear something. If so, behave as if channel busy.

Exposed Terminal Problem

A C

Exposed terminals
A starts sending to B. C senses carrier, finds medium in use and has to wait for A->B to end. D is outside the range of A, therefore waiting is not necessary. A and C are exposed terminals.

A->B and C->D transmissions can be parallel; no collisions

MACA: Multiple Access with Collision Avoidance


MACA uses signaling packets for collision avoidance
RTS (request to send) sender request the right to send from a receiver with a short RTS packet before it sends a data packet CTS (clear to send) receiver grants the right to send as soon as it is ready to receive

Signaling (RTS/CTS) packets contain


sender address receiver address packet size

Variants of this method are used in IEEE 802.11

MACA Solutions [Karn90]


MACA avoids the problem of hidden terminals
A and C want to send to B A sends RTS to B B sends CTS to A RTS A C overhears CTS from B CTS C waits for duration of As transmission

B
CTS

MACA avoids the problem of exposed terminals


B wants to send to A, C to D C hears RTS from B->A C does not hear CTS from A C sends RTS to D

RTS

RTS

A
CTS

MAC: Reliability
Wireless links are prone to errors. High packet loss rate detrimental to transport-layer performance. Solution: Use of acknowledgements
When B receives DATA from A, B sends an ACK. If A fails to receive an ACK, A retransmits the DATA. Both C and D remain quiet until ACK (to prevent collision of ACK). Expected duration of transmission+ACK is included in RTS/CTS packets. This approach adopted in many protocols [802.11].

RTS

RTS A CTS DATA ACK B CTS C

Collision of RTS/CTS packets can happen (hidden terminal).


If no CTS, retransmit RTS after backoff.

MAC: Collision Avoidance


With half-duplex radios, collision detection is not possible Collision avoidance: Once channel becomes idle, the node waits for a randomly chosen duration before attempting to transmit IEEE 802.11 DCF
When transmitting a packet, choose a backoff interval in the range [0,cw]; cw is contention window Count down the backoff interval when medium is idle Count-down is suspended if medium becomes busy When backoff interval reaches 0, transmit RTS

Time spent counting down backoff intervals is part of MAC overhead large cw leads to larger backoff intervals small cw leads to larger number of collisions

DCF Example

B1 = 25 wait data B2 = 20

B1 = 5
data wait B2 = 15 B2 = 10

cw = 31

B1 and B2 are backoff intervals at nodes 1 and 2

MAC: Congestion Control


Number of nodes attempting to transmit simultaneously may change with time; some mechanism to manage congestion is needed. IEEE 802.11 DCF: Congestion control achieved by dynamically choosing the contention window cw Binary Exponential Backoff in DCF:
When a node fails to receive CTS in response to its RTS, it increases the contention window cw is doubled (up to a bound CWmax) Upon successful completion data transfer, restore cw to CWmin Optimization: MACAW 802.11: cw reduces much faster than it increases Backoff: multiply cw by 1.5 (instead of doubling) Restore: Reduce cw by 1 (instead of CWmin) cw reduces slower than it increases. Exponential increase linear decrease Avoids wild oscillations of cw when congestion is high.

MAC: Energy Conservation


Wireless nodes need to conserve power (resource poor). Typical solution: Turning the radio off when not needed Power Saving Mode in IEEE 802.11 (Infrastructure Mode)
An Access Point periodically transmits a beacon indicating which nodes have packets waiting for them Each power saving (PS) node wakes up periodically to receive the beacon If a node has a packet waiting, then it sends a PS-Poll After waiting for a backoff interval in [0,CWmin] Access Point sends the data in response to PS-poll

MAC Protocols: Summary


Wireless medium is prone to hidden and exposed terminal problems
Protocols are typically based on CSMA/CA RTS/CTS based signaling Acks for reliability Contention window is used for congestion control IEEE 802.11 wireless LAN standard Fairness issues are still unclear

Routing and Mobility


Finding a path from a source to a destination Issues
Frequent route changes amount of data transferred between route changes may be much smaller than traditional networks Route changes may be related to host movement Low bandwidth links

Goal of routing protocols


decrease routing-related overhead find short routes find stable routes (despite mobility)

Mobile IP (RFC 2002): Motivation


Traditional routing
based on IP destination address network prefix determines physical subnet change of physical subnet implies change of IP address (conform to new subnet), or special routing table entries to forward packets to new subnet

Changing of IP address
DNS updates take to long time TCP connections break security problems

Changing entries in routing tables


does not scale with the number of mobile hosts and frequent changes in the location security problems

Solution requirements
retain same IP address, use same layer 2 protocols authentication of registration messages,

Mobile IP: Basic Idea

MN

Router 3

Home agent Router 1 Router 2

Source: Vaidya

Mobile IP: Basic Idea


move S Router 3 Foreign agent Home agent Router 1 Router 2
Packets are tunneled using IP in IP

MN

Source: Vaidya

Mobile IP: Terminology


Mobile Node (MN)
node that moves across networks without changing its IP address

Home Agent (HA)


host in the home network of the MN, typically a router registers the location of the MN, tunnels IP packets to the COA

Foreign Agent (FA)


host in the current foreign network of the MN, typically a router forwards tunneled packets to the MN, typically the default router for MN

Care-of Address (COA)


address of the current tunnel end-point for the MN (at FA or MN) actual location of the MN from an IP point of view

Correspondent Node (CN)


host with which MN is corresponding (TCP connection)

Data transfer to the mobile system


HA

MN

home network Internet

3
FA

receiver

foreign network

CN
sender

1. Sender sends to the IP address of MN, HA intercepts packet (proxy ARP) 2. HA tunnels packet to COA, here FA, by encapsulation 3. FA forwards the packet to the MN
Source: Schiller

Data transfer from the mobile system


HA

MN

home network Internet

sender

FA

foreign network

CN
receiver

1. Sender sends to the IP address of the receiver as usual, FA works as default router

Source: Schiller

Reverse tunneling (RFC 2344)


HA

MN

home network Internet

1
FA

sender

foreign network

CN
receiver

1. MN sends to FA 2. FA tunnels packets to HA by encapsulation 3. HA forwards the packet to the receiver (standard case)

Source: Schiller

Mobile IP: Other Issues


Reverse Tunneling
firewalls permit only topological correct addresses a packet from the MN encapsulated by the FA is now topological correct

Agent Advertisement
HA/FA periodically send advertisement messages into their physical subnets MN listens to these messages and detects, if it is in home/foreign network MN reads a COA from the FA advertisement messages

Registration
MN signals COA to the HA via the FA HA acknowledges via FA to MN limited lifetime, need to be secured by authentication

Optimizations
Triangular Routing HA informs sender the current location of MN Change of FA new FA informs old FA to avoid packet loss, old FA now forwards remaining packets to new FA

Multi-Hop Wireless Networks


May need to traverse multiple links to reach destination

Mobility causes route changes


Source: Vaidya

Mobile Ad Hoc Networks (MANET)


Host movement frequent Topology change frequent B

No cellular infrastructure. Multi-hop wireless links. Data must be routed via intermediate nodes.

Source: Vaidya

Routing in MANET
Mobile IP needs infrastructure
Home Agent/Foreign Agent in the fixed network DNS, routing etc. are not designed for mobility

MANET
no default router available every node also needs to be a router

Can we use traditional routing algorithms?


Distance Vector periodic exchange of routing tables (destination, distance, next hop) selection of the shortest path if several paths available Link State periodic notification about current state of physical links (flooding) router get a complete picture of the network

Traditional Routing
A routing protocol sets up a routing table in routers

A node makes a local choice depending on global topology


Source: Keshav

Distance-vector & Link-state Routing


Both assume router knows
address of each neighbor cost of reaching each neighbor

Both allow a router to determine global routing information by talking to its neighbors Distance vector - router knows cost to each destination Link state - router knows entire network topology and computes shortest path

Distance Vector Routing: Example

Source: Keshav

Link State Routing: Example

Source: Keshav

Extending Traditional Routing to MANET


Traditional routing protocols have been designed for fixed networks with infrequent changes; typically assume symmetric links MANET
dynamic topology: frequent route changes no border routers wireless medium: variable connection quality limited bandwidth (further reduced due to routing updates) links may be asymmetric resource poor mobile nodes: routing table updates consume energy without contributing to data Tx sleep modes difficult to realize

MANET Routing Protocols


Reactive protocols
Determine route if and when needed Source initiates route discovery Example: DSR (dynamic source routing)

Proactive protocols
Extension of traditional routing protocols Maintain routes between every host pair at all times Example: DSDV (destination sequenced distance vector)

Hybrid protocols
Adaptive; Combination of proactive and reactive Example : ZRP (zone routing protocol)

Multicast routing

Dynamic Source Routing (DSR) [Johnson96]


When source S wants to send a packet to destination D, but does not know a route to D, S initiates a route discovery S floods Route Request (RREQ) Each node appends its own identifier when forwarding RREQ D on receiving the first RREQ, sends a Route Reply (RREP) RREP sent on route obtained by reversing the route appended in RREQ RREP includes the route from S to D, on which RREQ was received by D S on receiving RREP, caches the route included in the RREP When S sends a data packet to D, entire route is included in the header Intermediate nodes use the source route in the packet header to determine to whom a packet should be forwarded

Route Discovery in DSR


Y

Z
S B A H I C G K D N E F M L

Represents a node that has received RREQ for D from S


Source: Vaidya

Route Discovery in DSR


Broadcast transmission Y

[S]
S B A H I C G K D E F M

Represents transmission of RREQ [X,Y] Represents list of identifiers appended to RREQ

Route Discovery in DSR


Y

Z
S B A H I C [S,C] G K D N E [S,E] F M L

Node H receives packet RREQ from two neighbors: potential for collision

Route Discovery in DSR


Y

Z
S B A H I C G [S,C,G] K D N E F [S,E,F] M L

Node C receives RREQ from G and H, but does not forward it again, because node C has already forwarded RREQ once

Route Discovery in DSR


Y

Z
S B A H I C G K D [S,C,G,K] N E F [S,E,F,J] M L

Nodes J and K both broadcast RREQ to node D Since nodes J and K are hidden from each other, their transmissions may collide

Route Discovery in DSR


Y

Z
S B A H I C G K D N E F [S,E,F,J,M]

Node D does not forward RREQ, because node D is the intended target of the route discovery

Route Reply in DSR


Y

Z
S B A H I C G K D N E RREP [S,E,F,J,D] F M L

Represents RREP control message

Data Delivery in DSR


Y

DATA [S,E,F,J,D]
S B A H I C G K D E F M

Packet header size grows with route length

DSR Issues
Optimizations: cache routes learnt by any means
When S finds route [S,E,F,J,D] to D, S also learns route [S,E,F] to F When K receives RREQ[S,C,G] for G, K learns route [K,G,C,S] to S When F forwards RREP [S,E,F,J,D], F learns route [F,J,D] to D When E forwards Data [S,E,F,J,D], E learns route [E,F,J,D] to D

Advantages
Routes maintained only between nodes who need to communicate Reduces overhead of route maintenance Caching (at intermediate nodes) can further reduce route discovery overhead

Disadvantages
Packet header size grows with route length due to source routing Flood of route requests may potentially reach all nodes in the network Route Reply Storm problem: Many intermediate nodes reply from local cache Stale caches will lead to increased overhead

Destination-Sequenced Distance-Vector (DSDV) [Perkins94Sigcomm]


Each node maintains a routing table which stores
next hop, cost metric towards each destination a sequence number that is created by the destination itself

Each node periodically forwards routing table to neighbors


Each node increments and appends its sequence number when sending its local routing table

Each route is tagged with a sequence number; routes with greater sequence numbers are preferred Each node advertises a monotonically increasing even sequence number for itself When a node decides that a route is broken, it increments the sequence number of the route and advertises it with infinite metric Destination advertises new sequence number

Destination-Sequenced Distance-Vector (DSDV)


When X receives information from Y about a route to Z
Let destination sequence number for Z at X be S(X), S(Y) is sent from Y X Y Z

If S(X) > S(Y), then X ignores the routing information received from Y If S(X) = S(Y), and cost of going through Y is smaller than the route known to X, then X sets Y as the next hop to Z If S(X) < S(Y), then X sets Y as the next hop to Z, and S(X) is updated to equal S(Y)

Reactive v/s Proactive Trade-offs


Reactive protocols
Lower overhead since routes are determined on demand Significant delay in route determination Employ flooding (global search) Control traffic may be bursty

Proactive protocols
Always maintain routes Little or no delay for route determination Consume bandwidth to keep routes up-to-date Maintain routes which may never be used

Which approach achieves a better trade-off depends on the traffic and mobility patterns

Zone Routing Protocol (ZRP) [Haas98]


ZRP combines proactive and reactive approaches All nodes within hop distance at most d from a node X are said to be in the routing zone of node X All nodes at hop distance exactly d are said to be peripheral nodes of node Xs routing zone Intra-zone routing: Proactively maintain routes to all nodes within the source nodes own zone. Inter-zone routing: Use an on-demand protocol (similar to DSR or AODV) to determine routes to outside zone.

ZRP: Example

Radius of routing zone = 2

MANET Routing: Summary


Protocols
Typically divided into proactive, reactive and hybrid Plenty of other routing protocols: location-aided, power-aware, . Several recent proposal in IETFs MANET Working Group http://www.ietf.org/

Performance Studies
Typically studied by simulations using ns, discrete event simulator Nodes (10-30) remains stationary for pause time seconds (0-900s) and then move to a random destination (1500m X300m space) at a uniform speed (0-20m/s). CBR traffic sources (4-30 packets/sec, 64-1024 bytes/packet) Attempt to estimate latency of route discovery, routing overhead

Actual trade-off depends a lot on traffic and mobility patterns


Higher traffic diversity (more source-destination pairs) increases overhead in on-demand protocols Higher mobility will always increase overhead in all protocols

See Nitin Vaidyas MobiCom2000 tutorial

TCP in Wireless Environments


TCP provides
reliable ordered delivery (by means of retransmissions, if necessary) cumulative ACKs (an ACK acknowledges all contiguously received data) duplicate ACKs (whenever an out-of-order segment is received) end-to-end semantics (receiver sends ACK after data has reached) implements congestion avoidance and control using congestion window

Factors affecting TCP performance in Wireless:


Wireless transmission errors may cause fast retransmit, which results in reduction in congestion window size reducing congestion window in response to errors is unnecessary Multi-hop routes on shared wireless medium Longer connections are at a disadvantage compared to shorter ones, because they have to contend for wireless access at each hop Route failures due to mobility

TCP basics: Cumulative Acknowledgements


A new cumulative acknowledgement is generated only on receipt of a new in-sequence packet
40
33

39
34

38
35

37
36

41
34

40
35

39
36

38
37

data

ack

Source: Vaidya

TCP: Delayed Acknowledgements


An ack is delayed until
another packet is received, or delayed ack timer expires (200 ms typical)

Reduces ack traffic

New ack not produced on receipt of packet 36, but on receipt of 37

40
33

39

38
35

37

41

40
35

39

38
37

TCP: Duplicate Acknowledgements


A dupack is generated whenever an out-of-order segment arrives at the receiver
40 39
34

38

37
36

42

41
36

40

39
36

(Above example assumes delayed acks)

Dupack On receipt of 38

TCP: Duplicate Acknowledgements


Duplicate acks are not delayed Duplicate acks may be generated when
a packet is lost, or a packet is delivered out-of-order (OOO) 40 39
34

37

38
36

41

40

39
36

37
36

Dupack On receipt of 38

TCP: Window Based Flow Control


Sliding window protocol Window size minimum of
receivers advertised window - determined by available buffer space at the receiver congestion window - determined by the sender, based on feedback from the network

Flow control is self-clocking


new data sent only when old data is ACKd congestion window size bounds amount of data that can be sent per RTT

Senders window 1 2 3 4 5 6 7 8 9 10 11 12 13 Acks received Not transmitted

TCP: Detection of packet loss


Retransmission timeout (RTO)
sender sets retransmission timer for only one packet if ACK not received before timer expiry, the packet is assumed lost RTO dynamically calculated, doubles on each timeout

Duplicate ACKs
may be generated due to packet loss or out-of-order delivery sender assumes packet loss if it receives three consecutive dupacks

Fast Retransmit
RTO expiry may take too long sender assumes packet loss if it receives three consecutive dupacks

On detecting a packet loss, TCP sender assumes that network congestion has occurred and drastically reduces the congestion window

TCP: Slow Start and Congestion Avoidance


Slow Start initially, congestion window size cwnd = 1 MSS (maximum segt size) increment window size by 1 MSS on each new ack phase ends when window size reaches slow-start threshold (ssthresh) cwnd grows exponentially with time during slow start
factor of 1.5 per RTT if every other packet ackd factor of 2 per RTT if every packet ackd

Congestion Avoidance On each new ack, increase cwnd by 1/cwnd packets cwnd increases linearly with time during congestion avoidance
1/2 MSS per RTT if every other packet ackd 1 MSS per RTT if every packet ackd

TCP: Congestion Control


On detecting a packet loss, TCP sender
assumes network congestion, drastically reduces the congestion window Reducing cwnd reduces amount of data that can be sent per RTT

Congestion Control: Timeout timeout occurs when no more packets are getting across
ssthresh is set to half the window size before packet loss cwnd is reduced to the initial value of 1 MSS slow start is initiated

Congestion Control: Fast Retransmit Fast retransmit occurs when multiple (>= 3) dupacks are received Fast recovery follows fast retransmit (different from timeout)
a packet is lost, but latter packets get through ack clock is still there; no need to slow start ssthresh is set to half the window size before packet loss missing segment is retransmitted (fast retransmit) cwnd is reduced to ssthresh (by half) when a new ACK is received enter congestion avoidance phase

Impact of Multi-hop Wireless Paths


TCP throughput degrades with increase in number of hops

Packet transmission can occur on at most one hop among three consecutive hops
Increasing the number of hops from 1 to 2, 3 results in increased delay, and decreased throughput

Increasing number of hops beyond 3 allows simultaneous transmissions on more than one link, however, degradation continues due to contention between TCP Data and ACKs traveling in opposite directions When number of hops is large enough (>6), throughput stabilizes [Holland99]

Impact of Node Mobility


TCP throughput degrades with increase in mobility but not always mobility causes link breakage, resulting in route failure

Route is repaired

TCP sender times out. Starts sending packets again

No throughput No throughput despite route repair

TCP data and acks en route discarded

Larger route repair delays are especially harmful

Improved Throughput with Increased Mobility


C D C D C D

B
A

B
A

Low speed: (Route from A to D is broken for ~1.5 seconds) When TCP sender times after 1 second, route still broken. TCP times out after another 2 seconds, and only then resumes
High speed: (Route from A to D is broken for ~0.75 seconds) When TCP sender times out after 1 second, route is repaired TCP timeout interval somewhat (not entirely) independent of speed Network state at higher speed may sometimes be more favorable than lower speed

Impact of Route Caching


TCP performance typically degrades when caches are used for route repair

When a route is broken, route discovery returns a cached route from local cache or from a nearby node After a time-out, TCP sender transmits a packet on the new route. However, typically the cached route has also broken after it was cached

timeout due to route failure

timeout, cached timeout, second cached route is broken route also broken

Another route discovery, and TCP time-out interval Process repeats until a good route is found

Caching and TCP performance


Caching can result in faster route repair
Faster does not necessarily mean correct If incorrect repairs occur often enough, caching performs poorly

If cache accuracy is not high enough, gains in routing overhead may be offset by loss of TCP performance due to multiple time-outs Need mechanisms for determining when cached routes are stale

Impact of Acknowledgements
TCP ACKs (and link layer acks) share the wireless bandwidth with TCP data packets Data and ACKs travel in opposite directions
In addition to bandwidth usage, ACKs require additional receive-send turnarounds, which also incur time penalty

Reduction of contention between data and ACKs, and frequency of send-receive turnaround Mitigation [Balakrishnan97]
Piggybacking link layer acks with data Sending fewer TCP acks - ack every d-th packet (d may be chosen dynamically) Ack filtering - Gateway may drop an older ack in the queue, if a new ack arrives

TCP Parameters after Route Repair


Window Size after route repair
Same as before route break: may be too optimistic Same as startup: may be too conservative Better be conservative than overly optimistic Reset window to small value; let TCP learn the window size

Retransmission Timeout (RTO) after route repair


Same as before route break: may be too small for long routes Same as TCP start-up: may be too large and respond slowly to packet loss new RTO could be made a function of old RTO and route lengths

Improving TCP Performance in Wireless


Classification 1:
based on nature of actions taken to improve performance Hide error losses from the sender if sender is unaware of the packet losses due to errors, it will not reduce congestion window Let sender know, or determine, cause of packet loss if sender knows that a packet loss is due to errors, it will not reduce congestion window

Classification 2:
based on where modifications are needed At the sender node only At the receiver node only At intermediate node(s) only Combinations of the above

Indirect TCP (I-TCP)


I-TCP splits the TCP connection
no changes to the TCP protocol for wired hosts TCP connection is split at the wireless interface (foreign agent) into 2 connections, (one from CN to FA and other from FA to MN) hosts in wired network do not notice characteristics of wireless part no real end-to-end connection any longer

mobile host access point (foreign agent) wired Internet

wireless TCP

standard TCP

Source: Schiller

I-TCP socket and state migration

access point1

socket migration and state transfer

Internet

access point2

mobile host

Source: Schiller

I-TCP: Issues
Advantages
no changes in the fixed network necessary no changes for the hosts (TCP protocol) necessary all current optimizations to TCP still work transmission errors on wireless link do not propagate into the fixed network simple to control, mobile TCP is used only for one wireless hop a very fast retransmission of packets is possible (short delay on the mobile hop is known)

Disadvantages
loss of end-to-end semantics, ACK to sender does not guarantee that the packet was received (FA may crash) buffering and forwarding of packets from one FA to another, may increase latency

Snooping TCP
Transparent extension of TCP within the foreign agent
buffer packets sent to the mobile host lost packets on the wireless link (both directions) are retransmitted immediately by the mobile host or foreign agent, respectively foreign agent snoops the packet flow and recognizes ACKs in both directions; it also filters ACKs

local retransmission

foreign agent wired Internet

correspondent host

mobile host

snooping of ACKs

buffering of data

end-to-end TCP connection


Source: Schiller

Snooping TCP: Issues


Data transfer to the mobile host
FA buffers data until it receives ACK of the MH FA detects packet loss via dupacks or timeout fast retransmission possible, transparent for the fixed network

Data transfer from the mobile host


FA detects packet loss on the wireless link via sequence numbers FA answers directly with a NACK to the MH MH can now retransmit data with only a very short delay

Integration of the MAC layer


MAC layer can detect and discard duplicated packets

Problems
snooping TCP does not isolate the wireless link as good as I-TCP snooping might be useless depending on encryption schemes

Mobile TCP (M-TCP)


Special handling of lengthy and/or frequent disconnections M-TCP splits as I-TCP does
unmodified TCP fixed network to supervisory host (SH) optimized TCP SH to MH

Supervisory host
no caching, no retransmission monitors all packets, if disconnection detected set sender window size to 0 sender automatically goes into persistent mode old or new SH reopens the window

Advantages
maintains semantics, supports disconnection, no buffer forwarding

Disadvantages
loss on wireless link propagated into fixed network adapted TCP on wireless link

Impact of Handoffs on Schemes to Improve TCP


Split connection (I-TCP)
hard state at base station must be moved to new base station

Snoop protocol
soft state need not be moved while the new foreign agent builds new state, packet losses may not be recovered locally

Frequent handoffs a problem for schemes that rely on significant amount of hard/soft state at base stations
hard state should not be lost soft state needs to be recreated to benefit performance

Improving TCP Throughput


Network feedback
Network knows best (why packets are lost) Need to modify transport & network layer to receive/send feedback - Need mechanisms for information exchange between layers

Inform TCP of route failure by explicit message Let TCP know when route is repaired
Probing Explicit notification Better route caching mechanisms

Reduces repeated TCP timeouts and backoff

Impact of Mobility on TCP: Summary


TCP assumes congestion if packets are dropped Random/transmission errors may cause fast retransmit which results in
retransmission of lost packet reduction in congestion window

Reducing congestion window in response to errors is unnecessary Reduction in congestion window reduces the throughput

Mobility itself can cause packet loss


e.g. when a node moves from one access point to another while packets are in transit, and forwarding is not possible

Performance of an unchanged TCP degrades severely


TCP cannot be changed fundamentally, due to widespread deployment Several adaptation proposals exist

See Nitin Vaidyas MobiCom99 tutorial

Wireless LAN Implementations


IEEE 802.11 (WaveLan) HIPERLAN Bluetooth

You might also like