530 likes | 539 Views
This lecture discusses the challenges in wireless networking, such as sharing airwaves and dealing with mobility. It also covers topics like link layer challenges, internet mobility, and adapting applications to slow links.
E N D
15-441: Computer Networking Lecture 23: Mobile and Wireless Networking
Wireless Challenges • Force us to rethink many assumptions • Need to share airwaves rather than wire • Don’t know what hosts are involved • Host may not be using same link technology • Mobility • Other characteristics of wireless • Noisy lots of losses • Slow • Interaction of multiple transmitters at receiver • Collisions, capture, interference • Multipath interference Lecture 23: 11-27-01
Overview • Link layer challenges • Internet mobility • TCP Over Noisy Links • Adapting Applications to Slow Links Lecture 23: 11-27-01
Cellular Reuse • Transmissions decay over distance • Spectrum can be reused in different areas • Different “LANs” • Decay is 1/R2 in free space, 1/R4 in some situations Lecture 23: 11-27-01
CSMA/CD Does Not Work • Carrier sense problems • Relevant contention at the receiver, not sender • Hidden terminal • Exposed terminal • Collision detection problems • Hard to build a radio that can transmit and receive at same time Hidden Exposed A A B B C C D Lecture 23: 11-27-01
Overview • Link layer challenges • Internet mobility • TCP Over Noisy Links • Adapting Applications to Slow Links Lecture 23: 11-27-01
Routing to Mobile Nodes • Obvious solution: have mobile nodes advertise route to mobile address/32 • Should work!!! • Why is this bad? consider forwarding tables on backbone routers • Would have an entry for each mobile host • Not very scalable Lecture 23: 11-27-01
How to Handle Mobile Nodes?(Addressing) • Dynamic Host Configuration (DHCP) • Host gets new IP address in new locations • Problems • Host does not have constant name/address how do others contact host • What happens to active transport connections? Lecture 23: 11-27-01
How to Handle Mobile Nodes?(Naming) • Naming • Use DHCP and update name-address mapping whenever host changes address • Fixes contact problem but not broken transport connections Lecture 23: 11-27-01
How to Handle Mobile Nodes? (Transport) • TCP currently uses 4 tuple to describe connection • <Src Addr, Src port, Dst addr, Dst port> • Modify TCP to allow peer’s address to be changed during connection • Security issues • Can someone easily hijack connection? • Difficult deployment both ends must support mobility Lecture 23: 11-27-01
How to Handle Mobile Nodes?(Link Layer) • Link layer mobility • Learning bridges can handle mobility this is how it is handled at CMU • Encapsulated PPP (PPTP) Have mobile host act like he is connected to original LAN • Works for IP AND other network protocols Lecture 23: 11-27-01
How to Handle Mobile Nodes?(Routing 1) • Multicast • Solves similar problem how to route packets to different sets of hosts at different times • Can’t we just reuse same solutions? • Don’t really have solution for multicast either! Lecture 23: 11-27-01
How to Handle Mobile Nodes?(Routing 2) • Allow mobile node to keep same address and name • How do we deliver IP packets when the endpoint moves? • Why can’t we just have nodes advertise route to their address? • What about packets from the mobile host? • Routing not a problem • What source address on packet? • Key design considerations • Scale • Incremental deployment Lecture 23: 11-27-01
Basic Solution to Mobile Routing • Same as other problems in Computer Science • Add a level of indirection • Keep some part of the network informed about current location • Need technique to route packets through this location (interception) • Need to forward packets from this location to mobile host (delivery) Lecture 23: 11-27-01
Interception • Somewhere along normal forwarding path • At source • Any router along path • Router to home network • Machine on home network (masquerading as mobile host) • Clever tricks to force packet to particular destination • “Mobile subnet” – assign mobiles a special address range and have special node advertise route Lecture 23: 11-27-01
Delivery • Need to get packet to mobile’s current location • Tunnels • Tunnel endpoint = current location • Tunnel contents = original packets • Source routing • Loose source route through mobile current location • Network address translation (NAT) • What about packets from the mobile host? Lecture 23: 11-27-01
Mobile IP (RFC 2290) • Interception • Typically home agent – hosts on home network • Delivery • Typically IP-in-IP tunneling • Endpoint – either temporary mobile address or foreign agent • Terminology • Mobile host (MH), correspondent host (CH), home agent (HA), foreign agent (FA) • Care-of-address, home address Lecture 23: 11-27-01
Mobile IP (MH at Home) Packet Correspondent Host (CH) Internet Visiting Location Home Mobile Host (MH) Lecture 23: 11-27-01
Mobile IP (MH Moving) Packet Correspondent Host (CH) Internet Visiting Location Home Home Agent (HA) Mobile Host (MH) I am here Lecture 23: 11-27-01
Mobile IP (MH Away – Foreign Agent) Packet Correspondent Host (CH) Mobile Host (MH) Internet Visiting Location Home Encapsulated Home Agent (HA) Foreign Agent (FA) Lecture 23: 11-27-01
Mobile IP (MH Away - Collocated) Packet Correspondent Host (CH) Internet Visiting Location Home Encapsulated Home Agent (HA) Mobile Host (MH) Lecture 23: 11-27-01
Other Mobile IP Issues • Route optimality • Resulting paths can be sub-optimal • Can be improved with route optimization • Unsolicited binding cache update to sender • Authentication • Registration messages • Binding cache updates • Must send updates across network • Handoffs can be slow • Problems with basic solution • Triangle routing • Reverse path check for security Lecture 23: 11-27-01
Overview • Link layer challenges • Internet mobility • TCP Over Noisy Links • Adapting Applications to Slow Links Lecture 23: 11-27-01
TCP Problems Over Noisy Links • Wireless links are inherently error-prone • Fades, interference, attenuation • Errors often happen in bursts • TCP cannot distinguish between corruption and congestion • TCP unnecessarily reduces window, resulting in low throughput and high latency • Burst losses often result in timeouts • Sender retransmission is the only option • Inefficient use of bandwidth Lecture 23: 11-27-01
Constraints & Requirements • Incremental deployment • Solution should not require modifications to fixed hosts • If possible, avoid modifying mobile hosts • Probably more data to mobile than from mobile • Attempt to solve this first Lecture 23: 11-27-01
0 2 3 1 2 2 2 Loss Congestion Challenge #1: Wireless Bit-Errors Router Computer 1 Computer 2 Loss Congestion Wireless Burst losses lead to coarse-grained timeouts Result: Low throughput Lecture 23: 11-27-01
Performance Degradation Best possible TCP with no errors (1.30 Mbps) TCP Reno (280 Kbps) Sequence number (bytes) Time (s) 2 MB wide-area TCP transfer over 2 Mbps Lucent WaveLAN Lecture 23: 11-27-01
Proposed Solutions • End-to-end protocols • Selective ACKs, Explicit loss notification • Split-connection protocols • Separate connections for wired path and wireless hop • Reliable link-layer protocols • Error-correcting codes • Local retransmission Lecture 23: 11-27-01
Approach Styles (End-to-End) • Improve TCP implementations • Not incrementally deployable • Improve loss recovery (SACK, NewReno) • Help it identify congestion (ELN, ECN) • ACKs include flag indicating wireless loss • Trick TCP into doing right thing E.g. send extra dupacks Wired link Wireless link Lecture 23: 11-27-01
4 6 5 1 End-to-End: Selective Acks X 3 2 Mobile Host Correspondent Host Base Station Lecture 23: 11-27-01
End-to-End: Selective Acks Mobile Host Correspondent Host Base Station ack 1 ack 1,3 ack 1,3-4 ack 1,3-5 ack 1,3-6 Lecture 23: 11-27-01
Approach Styles (Split Connection) • Split connections • Wireless connection need not be TCP • Hard state at base station • Complicates mobility • Vulnerable to failures • Violates end-to-end semantics Wired link Wireless link Lecture 23: 11-27-01
3 2 A Split Connection X X 1 B D C Mobile Host Correspondent Host Base Station ack 0 ack 0 sack A sack A,B sack A,B,D Lecture 23: 11-27-01
60000 Wired connection Wireless connection 50000 40000 Congestion Window (bytes) 30000 20000 10000 0 0 20 40 60 80 100 120 Time (sec) Split-Connection Congestion Window • Wired connection does not shrink congestion window • But wireless connection times out often, causing sender to stall Lecture 23: 11-27-01
Approach Styles (Link Layer) • More aggressive local rexmit than TCP • Bandwidth not wasted on wired links • Adverse interactions with transport layer • Timer interactions • Interactions with fast retransmissions • Large end-to-end round-trip time variation • FEC does not work well with burst losses Wired link Wireless link ARQ/FEC Lecture 23: 11-27-01
Hybrid Approach: Snoop Protocol • Transport-aware link protocol • Modify base station • To cache un-acked TCP packets • … And perform local retransmissions • Key ideas • No transport level code in base station • When node moves to different base station, state eventually recreated there Lecture 23: 11-27-01
4 6 5 1 Snoop Protocol: CH to MH • Snoop agent: active interposition agent • Snoops on TCP segments and ACKs • Detects losses by duplicate ACKs and timers • Suppresses duplicate ACKs from FH sender Snoop Agent 3 2 1 Mobile Host Correspondent Host Base Station Lecture 23: 11-27-01
1 Snoop Protocol: CH to MH • Transfer of file from CH to MH • Current window = 6 packets 6 3 Snoop Agent 5 2 4 Mobile Host Correspondent Host Base Station Lecture 23: 11-27-01
1 Snoop Protocol: CH to MH • Transfer begins 6 5 Snoop Agent 4 3 2 Mobile Host Correspondent Host Base Station Lecture 23: 11-27-01
4 6 5 1 Snoop Protocol: CH to MH • Snoop agent caches segments that pass by • Difference #1 from pure link-layer – does not add a new header uses existing TCP header to identify losses Snoop Agent 3 2 1 Mobile Host Correspondent Host Base Station Lecture 23: 11-27-01
4 6 5 1 Snoop Protocol: CH to MH • Packet 1 is Lost Snoop Agent 3 2 1 3 2 Mobile Host Correspondent Host Base Station 1 Lost Packets Lecture 23: 11-27-01
4 4 6 5 Snoop Protocol: CH to MH • Packet 1 is Lost • Duplicate ACKs generated Snoop Agent 3 2 1 3 2 ack 0 Mobile Host Correspondent Host Base Station 1 Lost Packets Lecture 23: 11-27-01
4 4 6 6 5 5 1 Snoop Protocol: CH to MH • Packet 1 is Lost • Duplicate ACKs generated • Packet 1 retransmitted from cache at higher priority Snoop Agent 3 2 1 3 2 ack 0 Mobile Host Correspondent Host Base Station ack 0 1 Lost Packets Lecture 23: 11-27-01
4 4 6 6 5 5 1 Snoop Protocol: CH to MH • Duplicate ACKs suppressed • Difference #2 from pure link-layer – tries to prevent sender from noticing loss • Sender may still timeout though – fortunately timeouts are typically long (500ms+) Snoop Agent 3 2 1 3 2 ack 4 Mobile Host Correspondent Host Base Station X ack 0 Lecture 23: 11-27-01
4 6 6 5 5 1 Snoop Protocol: CH to MH • Clean cache on new ACK Snoop Agent 3 2 ack 5 Mobile Host Correspondent Host Base Station ack 4 Lecture 23: 11-27-01
4 6 6 5 1 Snoop Protocol: CH to MH • Clean cache on new ACK Snoop Agent 3 2 ack 4 ack 6 Mobile Host Correspondent Host Base Station ack 5 Lecture 23: 11-27-01
4 8 7 6 9 5 1 Snoop Protocol: CH to MH • Active soft state agent at base station • Transport-aware reliable link protocol • Preserves end-to-end semantics Snoop Agent 3 2 Mobile Host Correspondent Host Base Station ack 5 ack 6 Lecture 23: 11-27-01
Snoop Data Processing Packet arrives 1. Forward pkt No New pkt? 2. Reset local rexmit counter Sender retransmission Yes No 1. Mark as cong. loss In-sequence? 2. Forward pkt Congestion loss Yes 1. Cache packet 2. Forward to mobile Common case Lecture 23: 11-27-01
Snoop ACK Processing Ack arrives (from mobile host) 1. Free buffers 2. Update Yes New ack? RTT estimate 3. Propagate ack to sender No Common case No Dup ack? Discard Spurious ack Yes No Yes Retransmit Discard > threshold lost packet Later dup acks Next pkt lost for lost packet Lecture 23: 11-27-01
Overview • Link layer challenges • Internet mobility • TCP Over Noisy Links • Adapting Applications to Slow Links Lecture 23: 11-27-01