Download presentation
Presentation is loading. Please wait.
1
15-744: Computer Networking L-8 Wireless
2
L -8; 11-12-04© Srinivasan Seshan, 20042 Mobile Routing Mobile IP Ad-hoc network routing TCP on wireless links Wireless MAC Assigned reading [BMJ+98] Performance Comparison of Multi-Hop Wireless Ad Hoc Routing Protocols [BPSK97] A Comparison of Mechanism for Improving TCP Performance over Wireless Links [LBC+01] Capacity of Ad Hoc Wireless Networks [BDS+94] MACAW: A Media Access Protocol for Wireless LAN’s [She98] A Channel Access Scheme for Large Dense Packet Radio Networks
3
L -8; 11-12-04© Srinivasan Seshan, 20043 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
4
L -8; 11-12-04© Srinivasan Seshan, 20044 Cellular Reuse Transmissions decay over distance Spectrum can be reused in different areas Different “LANs” Decay is 1/R 2 in free space, 1/R 4 in some situations
5
L -8; 11-12-04© Srinivasan Seshan, 20045 Overview Wireless TCP Internet routing Ad hoc routing Geographic ad hoc routing, MAC, Capacity (Brad Karp)
6
L -8; 11-12-04© Srinivasan Seshan, 20046 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
7
L -8; 11-12-04© Srinivasan Seshan, 20047 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
8
L -8; 11-12-04© Srinivasan Seshan, 20048 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
9
L -8; 11-12-04© Srinivasan Seshan, 20049 Challenge #1: Wireless Bit-Errors Router Computer 2Computer 1 2 3 2 2 Loss Congestion 2 1 0 Burst losses lead to coarse-grained timeouts Result: Low throughput Loss Congestion Wireless
10
L -8; 11-12-04© Srinivasan Seshan, 2004 Performance Degradation Time (s) Sequence number (bytes) TCP Reno (280 Kbps) Best possible TCP with no errors (1.30 Mbps) 2 MB wide-area TCP transfer over 2 Mbps Lucent WaveLAN
11
L -8; 11-12-04© Srinivasan Seshan, 200411 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
12
L -8; 11-12-04© Srinivasan Seshan, 200412 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 What is SMART? DUPACK includes sequence of data packet that triggered it Wired linkWireless link
13
L -8; 11-12-04© Srinivasan Seshan, 200413 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 linkWireless link
14
L -8; 11-12-04© Srinivasan Seshan, 2004 Split-Connection Congestion Window Wired connection does not shrink congestion window But wireless connection times out often, causing sender to stall
15
L -8; 11-12-04© Srinivasan Seshan, 200415 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 linkWireless link ARQ/FEC
16
L -8; 11-12-04© Srinivasan Seshan, 200416 Hybrid Approach: Snoop Protocol Shield TCP sender from wireless vagaries Eliminate adverse interactions between protocol layers Congestion control only when congestion occurs The End-to-End Argument [SRC84] Preserve TCP/IP service model: end-to-end semantics Is connection splitting fundamentally important? Eliminate non-TCP protocol messages Is link-layer messaging fundamentally important? Fixed to mobile: transport-aware link protocol Mobile to fixed: link-aware transport protocol
17
L -8; 11-12-04© Srinivasan Seshan, 200417 Snoop Overview 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
18
L -8; 11-12-04© Srinivasan Seshan, 2004 Snoop Protocol: CH to MH Correspondent Host Mobile Host Base Station 5 1 123 4 6 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
19
L -8; 11-12-04© Srinivasan Seshan, 2004 Snoop Protocol: CH to MH Correspondent Host Mobile Host Base Station Transfer of file from CH to MH Current window = 6 packets Snoop Agent 6 5 4 3 2 1
20
L -8; 11-12-04© Srinivasan Seshan, 2004 Snoop Protocol: CH to MH Correspondent Host Mobile Host Base Station Transfer begins Snoop Agent 6 5 432 1
21
L -8; 11-12-04© Srinivasan Seshan, 2004 Snoop Protocol: CH to MH Correspondent Host Mobile Host Base Station 5 1 123 4 6 Snoop agent caches segments that pass by Snoop Agent
22
L -8; 11-12-04© Srinivasan Seshan, 2004 Snoop Protocol: CH to MH Correspondent Host Mobile Host Base Station 5 123 4 6 Packet 1 is Lost Snoop Agent 23 1 Lost Packets 1
23
L -8; 11-12-04© Srinivasan Seshan, 2004 Snoop Protocol: CH to MH Correspondent Host Mobile Host Base Station 5 123 4 6 Packet 1 is Lost Duplicate ACKs generated Snoop Agent 2 3 Lost Packets 1 4 ack 0
24
L -8; 11-12-04© Srinivasan Seshan, 2004 Snoop Protocol: CH to MH Correspondent Host Mobile Host Base Station 5 123 4 6 Packet 1 is Lost Duplicate ACKs generated Packet 1 retransmitted from cache at higher priority Snoop Agent 2 3 Lost Packets 1 4 ack 0 56 1
25
L -8; 11-12-04© Srinivasan Seshan, 2004 Snoop Protocol: CH to MH Correspondent Host Mobile Host Base Station 5 123 4 6 Duplicate ACKs suppressed Snoop Agent 2 3 4 ack 4 56 1 ack 0 X
26
L -8; 11-12-04© Srinivasan Seshan, 2004 Snoop Protocol: CH to MH Correspondent Host Mobile Host Base Station 56 Clean cache on new ACK Snoop Agent 2 3 4 ack 5 6 1 5 ack 4
27
L -8; 11-12-04© Srinivasan Seshan, 2004 Snoop Protocol: CH to MH Correspondent Host Mobile Host Base Station 6 Clean cache on new ACK Snoop Agent 2 3 4 ack 6 1 56 ack 5 ack 4
28
L -8; 11-12-04© Srinivasan Seshan, 2004 Snoop Protocol: CH to MH Correspondent Host Mobile Host Base Station Active soft state agent at base station Transport-aware reliable link protocol Preserves end-to-end semantics Snoop Agent 2 3 4 ack 6 1 56978 ack 5
29
L -8; 11-12-04© Srinivasan Seshan, 2004 Best possible TCP (1.30 Mbps) Snoop Performance Improvement Time (s) Sequence number (bytes) Snoop (1.11 Mbps) TCP Reno (280 Kbps) 2 MB wide-area TCP transfer over 2 Mbps Lucent WaveLAN
30
L -8; 11-12-04© Srinivasan Seshan, 200430 Overview Wireless TCP Internet routing Ad hoc routing
31
L -8; 11-12-04© Srinivasan Seshan, 200431 How to Handle Mobile Nodes? 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? Naming Use DHCP and update name-address mapping whenever host changes address Fixes contact problem but not broken transport connections
32
L -8; 11-12-04© Srinivasan Seshan, 200432 Handling Mobile Nodes (Transport) TCP currently uses 4 tuple to describe connection 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
33
L -8; 11-12-04© Srinivasan Seshan, 200433 Handling Mobile Node 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 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!
34
L -8; 11-12-04© Srinivasan Seshan, 200434 Handling Mobile Nodes (Routing) 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
35
L -8; 11-12-04© Srinivasan Seshan, 200435 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)
36
L -8; 11-12-04© Srinivasan Seshan, 200436 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
37
L -8; 11-12-04© Srinivasan Seshan, 200437 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?
38
L -8; 11-12-04© Srinivasan Seshan, 200438 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
39
L -8; 11-12-04© Srinivasan Seshan, 200439 Mobile IP (MH at Home) Mobile Host (MH) Visiting Location Home Internet Correspondent Host (CH) Packet
40
L -8; 11-12-04© Srinivasan Seshan, 200440 Mobile IP (MH Moving) Visiting Location Home Internet Correspondent Host (CH) Packet Home Agent (HA) Mobile Host (MH) I am here
41
L -8; 11-12-04© Srinivasan Seshan, 200441 Mobile IP (MH Away – Foreign Agent) Visiting Location Home Internet Correspondent Host (CH) Packet Home Agent (HA) Foreign Agent (FA) Encapsulated Mobile Host (MH)
42
L -8; 11-12-04© Srinivasan Seshan, 200442 Mobile IP (MH Away - Collocated) Visiting Location Home Internet Correspondent Host (CH) Packet Home Agent (HA) Mobile Host (MH) Encapsulated
43
L -8; 11-12-04© Srinivasan Seshan, 200443 Other Mobile IP Issues Route optimality Triangle routing 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 Reverse path check for security Do we really need it…
44
L -8; 11-12-04© Srinivasan Seshan, 200444 Overview Wireless TCP Internet routing Ad hoc routing
45
L -8; 11-12-04© Srinivasan Seshan, 200445 Ad Hoc Routing Create multi-hop connectivity among set of wireless, possibly moving, nodes Mobile, wireless hosts act as forwarding nodes as well as end systems Need routing protocol to find multi-hop paths Needs to be dynamic to adapt to new routes, movement Interesting challenges related to interference and power limitations Low consumption of memory, bandwidth, power Scalable with numbers of nodes Localized effects of link failure
46
L -8; 11-12-04© Srinivasan Seshan, 200446 Problems Using DV or LS DV protocols may form loops Very wasteful in wireless: bandwidth, power Loop avoidance sometimes complex LS protocols: high storage and communication overhead More links in wireless (e.g., clusters) - may be redundant higher protocol overhead
47
L -8; 11-12-04© Srinivasan Seshan, 200447 Problems Using DV or LS Periodic updates waste power Tx sends portion of battery power into air Reception requires less power, but periodic updates prevent mobile from “sleeping” Convergence may be slower in conventional networks but must be fast in ad-hoc networks and be done without frequent updates
48
L -8; 11-12-04© Srinivasan Seshan, 200448 Proposed Protocols Destination-Sequenced Distance Vector (DSDV) DV protocol, destinations advertise sequence number to avoid loops, not on demand Temporally-Ordered Routing Algorithm (TORA) On demand creation of hbh routes based on link- reversal Dynamic Source Routing (DSR) On demand source route discovery Ad Hoc On-Demand Distance Vector (AODV) Combination of DSR and DSDV: on demand route discovery with hbh routing
49
L -8; 11-12-04© Srinivasan Seshan, 200449 DSR Concepts Source routing No need to maintain up-to-date info at intermediate nodes On-demand route discovery No need for periodic route advertisements
50
L -8; 11-12-04© Srinivasan Seshan, 200450 DSR Components Route discovery The mechanism by which a sending node obtains a route to destination Route maintenance The mechanism by which a sending node detects that the network topology has changed and its route to destination is no longer valid
51
L -8; 11-12-04© Srinivasan Seshan, 200451 DSR Route Discovery Route discovery - basic idea Source broadcasts route-request to Destination Each node forwards request by adding own address and re-broadcasting Requests propagate outward until: Target is found, or A node that has a route to Destination is found
52
L -8; 11-12-04© Srinivasan Seshan, 200452 C Broadcasts Route Request to F A Source C G H Destination F E D B Route Request
53
L -8; 11-12-04© Srinivasan Seshan, 200453 C Broadcasts Route Request to F A Source C G H Destination F E D B Route Request
54
L -8; 11-12-04© Srinivasan Seshan, 200454 H Responds to Route Request A Source C G H Destination F E D B G,H,F
55
L -8; 11-12-04© Srinivasan Seshan, 200455 C Transmits a Packet to F A Source C G H Destination F E D B FH,F G,H,F
56
L -8; 11-12-04© Srinivasan Seshan, 200456 Forwarding Route Requests A request is forwarded if: Node is not the destination Node not already listed in recorded source route Node has not seen request with same sequence number IP TTL field may be used to limit scope Destination copies route into a Route-reply packet and sends it back to Source
57
L -8; 11-12-04© Srinivasan Seshan, 200457 Route Cache All source routes learned by a node are kept in Route Cache Reduces cost of route discovery If intermediate node receives RR for destination and has entry for destination in route cache, it responds to RR and does not propagate RR further Nodes overhearing RR/RP may insert routes in cache
58
L -8; 11-12-04© Srinivasan Seshan, 200458 Sending Data Check cache for route to destination If route exists then If reachable in one hop Send packet Else insert routing header to destination and send If route does not exist, buffer packet and initiate route discovery
59
L -8; 11-12-04© Srinivasan Seshan, 200459 Discussion Source routing is good for on demand routes instead of a priori distribution Route discovery protocol used to obtain routes on demand Caching used to minimize use of discovery Periodic messages avoided But need to buffer packets
60
L -8; 11-12-04© Srinivasan Seshan, 200460 Snoop ACK Processing No Dup ack? No New ack? Yes 1. Free buffers 2. Update RTT estimate Yes Discard > threshold No Discard Retransmit Yes lost packet 3. Propagate ack to sender Common case Spurious ack Next pkt lost Later dup acks for lost packet Ack arrives (from mobile host)
61
L -8; 11-12-04© Srinivasan Seshan, 200461 Snoop Data Processing Yes Packet arrives New pkt? No 1. Forward pkt 2. Reset local rexmit counter In-sequence? Yes 1. Cache packet 2. Forward to mobile 1. Mark as cong. loss 2. Forward pkt Congestion loss Common case Sender retransmission No
62
L -8; 11-12-04© Srinivasan Seshan, 2004 Benefits of TCP-Awareness 30-35% improvement for Snoop: LL congestion window is small (but no coarse timeouts occur) Connection bandwidth-delay product = 25 KB Suppressing duplicate acknowledgments and TCP-awareness leads to better utilization of link bandwidth and performance 0 01020304050607080 20000 30000 40000 50000 60000 10000 Time (sec) Congestion Window (bytes) LL (no duplicate ack suppression) Snoop
63
L -8; 11-12-04© Srinivasan Seshan, 200463 Performance: FH to MH 1/Bit-error Rate (1 error every x Kbits) Throughput (Mbps) Typical error rates 2 MB local-area TCP transfer over 2 Mbps Lucent WaveLAN Snoop+SACK and Snoop perform best Connection splitting not essential TCP SACK performance disappointing TCP Reno SPLIT TCP SACK SPLIT-SACK Snoop Snoop+SACK
64
L -8; 11-12-04© Srinivasan Seshan, 200464 Next Lecture PROJECT CHECKPOINT Related work Preliminary results Detailed timeline Multicast routing, reliability, congestion control Network measurements Readings [DC90] Multicast Routing in Datagram Internetworks and Extended LANs [CRSZ01] Enabling Conferencing Applications on the Internet using an Overlay Multicast Architecture [LAWD04] A First-Principles Approach to Understanding the Internet's Router-level Topology [Pax97] End-to-End Internet Packet Dynamics [JD04] Ten Fallacies and Pitfalls on End-to-End Available Bandwidth Estimation [Pax04] Strategies for Sound Internet Measurement
65
L -8; 11-12-04© Srinivasan Seshan, 200465 Other Issues What about mobility? What about mobile-to-fixed communication?
66
L -8; 11-12-04© Srinivasan Seshan, 200466 Handling Mobility Correspondent Host Base Station Mobile Host Base Station Router 54 32 1 2 11 Send packets to multiple base stations
67
L -8; 11-12-04© Srinivasan Seshan, 200467 Handling Mobility Correspondent Host Base Station Mobile Host Base Station Router 65 43 1 3 2112 Resend missed packets from Snoop cache on handoff
68
L -8; 11-12-04© Srinivasan Seshan, 2004 Snoop Protocol: MH to CH Mobile Host Correspondent Host Base Station 0 2 Caching and retransmission will not work Losses occur before packet reaches BS Congestion losses should not be hidden Solution: Explicit Loss Notifications (ELN) In-band message to TCP sender 1 56 4 3
69
L -8; 11-12-04© Srinivasan Seshan, 2004 Snoop Protocol: MH to CH Mobile Host Base Station 5 0 6 MH begins transfer to CH 4 3 2 1 Correspondent Host
70
L -8; 11-12-04© Srinivasan Seshan, 2004 Snoop Protocol: MH to CH Mobile Host Base Station 5 0 2 6 Packet 1 lost on wireless link 1 4 3 Correspondent Host
71
L -8; 11-12-04© Srinivasan Seshan, 2004 Snoop Protocol: MH to CH Mobile Host Receiver Base Station 5 0 2 6 Add 1 to list of holes after checking for congestion 4 3 Lost Packets 1 1 ack 0
72
L -8; 11-12-04© Srinivasan Seshan, 2004 Snoop Protocol: MH to CH Mobile Host Base Station 5 0 2 6 Duplicate ACKs sent 4 3 Lost Packets 1 1 ack 0 Correspondent Host
73
L -8; 11-12-04© Srinivasan Seshan, 2004 Snoop Protocol: MH to CH Mobile Host Base Station 5 0 2 6 ELN information added to duplicate ACKs 4 3 Lost Packets 1 1 ack 0 ack 0 ELN ack 0 Correspondent Host
74
L -8; 11-12-04© Srinivasan Seshan, 2004 Snoop Protocol: MH to CH Mobile Host Base Station 5 0 2 6 ELN information on duplicate ACKs Retransmit on Packet 1 on dup ACK + ELN No congestion control now 4 3 Lost Packets 1 1 1 ack 0 ELN ack 0 Correspondent Host
75
L -8; 11-12-04© Srinivasan Seshan, 2004 Snoop Protocol: MH to CH Mobile Host Receiver Base Station 5 0 2 6 Clean holes on new ACK Link-aware transport decouples congestion control from loss recovery Technique generalizes nicely to wireless transit links 4 3 ack 6 1
76
L -8; 11-12-04© Srinivasan Seshan, 200476 Overview Header Compression
77
L -8; 11-12-04© Srinivasan Seshan, 200477 Low Bandwidth Links Efficiency for interactive 40byte headers vs payload size – 1 byte payload for telnet Header compression What fields change between packets? 3 types – fixed, random, differential
78
L -8; 11-12-04© Srinivasan Seshan, 200478 TCP Header Source portDestination port Sequence number Acknowledgement Advertised windowHdrLen Flags 0 ChecksumUrgent pointer Options (variable) Data Flags: SYN FIN RESET PUSH URG ACK
79
L -8; 11-12-04© Srinivasan Seshan, 200479 Header Compression What happens if packets are lost or corrupted? Packets created with incorrect fields Checksum makes it possible to identify How is this state recovered from? TCP retransmissions are sent with complete headers Large performance penalty – must take a timeout, no data-driven loss recovery How do you handle other protocols?
80
L -8; 11-12-04© Srinivasan Seshan, 200480 Non-reliable Protocols IPv6 and other protocols are adding large headers However, these protocols don’t have loss recovery How to recovery compression state Decaying refresh of compression state Suppose compression state is installed by packet X Send full state with X+2, X+4, X+8 until next state Prevents large number of packets being corrupted Heuristics to correct packet Apply differencing fields multiple times Do we need to define new formats for each protocol? Not really – can define packet description language [mobicom99]
81
L -8; 11-12-04© Srinivasan Seshan, 200481 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 A B C A B C D HiddenExposed
82
L -8; 11-12-04© Srinivasan Seshan, 200482 RTS/CTS Approach Before sending data, send Ready-to-Send (RTS) Target responds with Clear-to-Send (CTS) Others who hear defer transmission Packet length in RTS and CTS messages If CTS is not heard, or RTS collides Retransmit RTS after binary exponential backoff
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.