Network: Non Traditional Routing Y. Richard Yang 4/4/2011
Recap: Traditional Routing Protocols Proactive protocols distance vector e.g., DSDV link state link reversal e.g., partial link reversal, TORA Reactive (on-demand) protocols DSR AODV A E D C B F 2 1 3 5
Summary: Traditional Routing Implicit assumptions in traditional routing a graph representation of underlying network point-to-point graph, edges with costs select a lowest-cost route for a src-dest pair commit to a specific route before forwarding each node forwards a received packet as it is to next hop
Motivating Scenarios
Motivating Scenario Src A sends 1 packet to dst B; src B sends packet 3 to dst A The network needs to transmit 4 packets Motivating question: can we do better? p1 p1 1 2 3 p3 p3
Key Question How to explore path diversity and wireless broadcast opportunities?
Outline Admin. Non-traditional routing motivation network coding: exploiting network broadcast
Opportunistic Network Coding If R has both packets 1 and 3, it can combine them and explore coding and broadcast nature of wireless p1 p1 1 2 3 p3 p3
Opportunistic Coding: Basic Idea Each node looks at the packets available in its buffer, and those its neighbors’ buffers It selects a set of packets, computes the XOR of the selected packets, and broadcasts the XOR
Opportunistic Coding
Outline Admin. Non-traditional routing motivation network coding: exploiting network broadcast opportunistic routing: broadcast and path div.
Key Issue in Opportunistic Routing Key Issue: opportunistic forwarding may lead to duplicates.
Extreme Opportunistic Routing (ExOR) Basic idea: avoid duplicates by scheduling Instead of choosing a fix sequential path (e.g., src->B->D->dst), the source chooses a list of forwarders (a forwarder list in the packets) using ETX-like metric a background process collects ETX information via periodic link-state flooding Forwarders are prioritized by ETX-like metric to the destination
ExOR: Forwarding Group packets into batches The highest priority forwarder transmits when the batch ends The remaining forwarders transmit in prioritized order each forwarder forwards packets it receives yet not received by higher priority forwarders status collected by batch map
Batch Map Batch map indicates, for each packet in a batch, the highest-priority node known to have received a copy of that packet
ExOR: Example N2 N0 N3 N1
ExOR: Stopping Rule A nodes stops sending the remaining packets in the batch if its batch map indicates over 90% of this batch has been received by higher priority nodes the remaining packets transferred with traditional routing
Evaluations 65 Node pairs 1.0MByte file transfer 1 Mbit/s 802.11 bit rate 1 KByte packets EXOR bacth size 100 1 kilometer
Evaluation: 2x Overall Improvement 1.0 0.8 0.6 Cumulative Fraction of Node Pairs 0.4 0.2 ExOR Traditional spend a little more time on the 240 x. 121. say this is just for the median, and it’s a factor of 2! 200 400 600 800 Throughput (Kbits/sec) Median throughputs: 240 Kbits/sec for ExOR, 121 Kbits/sec for Traditional
OR uses links in parallel possible question – why are there only 7 forwarders.(just say we thin out...) ExOR 7 forwarders 18 links Traditional Routing 3 forwarders 4 links
OR moves packets farther 58% of Traditional Routing transmissions 0.6 ExOR Traditional Routing Fraction of Transmissions 0.2 25% of ExOR transmissions 0.1 lower is better. right circle – using lots of longer links, sum them up and it’s 25%. so, like ex 1, using lots of long links. zeros: before many packets made no progress, with exor at least some. 100 200 300 400 500 600 700 800 900 1000 Distance (meters) ExOR average: 422 meters/transmission Traditional Routing average: 205 meters/tx
Comments: ExOR Pros Cons takes advantage of link diversity (the probabilistic reception) to increase the throughput does not require changes in the MAC layer can cope well with unreliable wireless medium Cons scheduling is hard to scale in large networks overhead in packet header (batch info) batches increase delay
Outline Admin. Non-traditional routing motivation network coding: exploiting network broadcast opportunistic routing ExOR MORE
MORE: MAC-independent Opportunistic Routing & Encoding Basic idea: Replace node coordination with network coding Trading structured scheduler for random packets combination Previous network coding technique is for inter-flow MORE is for intra-flow network coding
Basic Idea: Source Chooses a list of forwarders (e.g., using ETX) Breaks up file into K packets (p1, p2, …, pK) Generate random packets MORE header includes the code vector [cj1, cj2, …cjK] for coded packet pj’
Basic Idea: Forwarder Check if in the list of forwarders Check if linearly independent of new packet with existing packet Re-coding and forward
Basic Idea: Destination Decode Send ACK back to src if success
Key Practical Question: How many packets does a forwarder send? Compute zi: the expected number of times that forwarder i should forward each packet
Computes zs Єij: loss probability of the link between i and j Compute zs so that at least one forwarder that is closer to destination is expected to have received the packet :
Compute zj for forwarder j Only need to forward packets that are received by j sent by forwarders who are further from destination not received by any forwarder who is closer to destination
Compute zj for forwarder j To guarantee at least one forwarder closer to d receives the packet
Evaluations 20 nodes distributed in a indoor building Path between nodes are 1 ~ 5 hops in length Loss rate is 0% ~ 60%; average 27%
Throughput
Summary: Opportunistic Routing Basic idea: Take advantage of spatial diversity Key issue Avoid redundancy and interference Techniques ExOR: coordination MORE: coordination -> random network coding
Opportunistic Routing 50 transmissions Problem of MORE R1 99% (10-3 BER) Loss 0% S D Loss 0% 99% (10-3 BER) R2 Opportunistic Routing 50 transmissions
MIXIT: Revisiting Link/ Network API PHY + LL Deliver correct symbols to higher layer Network Forward correct symbols to destination R1 S P1 P1 P2 R2 P2 P1 P2
Key Question: What Should Each Router Forward? P1 P1 P2 R2 P2 P1 P2
Key Question: What Should Each Router Forward? P1 P2 P1 P1 P2 R2 P2 P1 P2 P1 P2 Forward everything Inefficient
Symbol Level Network Coding P1 P2 P1 R2 P2 P1 P2 Forward random combinations of correct symbols
Symbol Level Network Coding … … D R2 … … Routers create random combinations of correct symbols
Symbol Level Network Coding … D R2 … Solve 2 equations Destination decodes by solving linear equations
Symbol Level Network Coding … … D R2 … … Routers create random combinations of correct symbols
Symbol Level Network Coding … D R2 … Solve 2 equations Destination decodes by solving linear equations
Problem: Mixed Correct and Incorrect Symbols Original Packets
Destination needs to know which combinations it received Use run length encoding Original Packets Coded Packet
Destination needs to know which combinations it received Use run length encoding Original Packets Coded Packet
Destination needs to know which combinations it received Use run length encoding Original Packets Coded Packet
Destination needs to know which combinations it received Use run length encoding Original Packets Coded Packet
Destination needs to know which combinations it received Use run length encoding
Evaluation Implementation on GNURadio SDR and USRP Zigbee (IEEE 802.15.4) link layer 25 node indoor testbed, random flows Compared to: Shortest path routing based on ETX MORE: Packet-level opportunistic routing
Throughput Comparison CDF 2.1x MIXIT 3x MORE Shortest Path Throughput (Kbps)
Outline Admin. Non-traditinoal routing Transport overview
Transport Layer vs. Network Layer Provide logical communication between app’ processes Transport protocols run in end systems Transport vs. network layer services: network layer data transfer between end systems transport layer data transfer between processes relies on, enhances, network layer services application transport network data link physical network data link physical network data link physical network data link physical logical end-end transport network data link physical network data link physical application transport network data link physical
Transport Layer Services and Protocols Transport services multiplexing/demultiplexing flow control reliable data transfer congestion/rate control Transport protocols in the Internet UDP TCP
Key Challenge in Transport: Rate /Congestion Control router 3 router 5 flow 1 5 Mbps 20 Mbps 10 Mbps flow 2 (5 Mbps) 20 Mbps 5 Mbps router 1 router 2 router 4 router 6 Assume flow 2 fixed at 5 Mbps no retransmission the link from router 1 to router 2 has finite buffer sending rate by flow 1 (Mbps) throughput of flows 1 & 2 (Mbps) 5 10 when packet dropped at the link from router 2 to router 5, the upstream transmission from router 1 to router 2 used for that packet was wasted!
TCP Reliability/Rate Control End-to-end, sliding window-based reliability Use the AIMD algorithm to adjust the sliding window size dynamically after receiving an ACK for a packet, increase cwin by 1/cwin if any loss, reduce cwin to half cwnd w
TCP/Reno: Cwin Q: Is TCP rate control effective in wireless networks? cwnd Loss Loss Time congestion avoidance congestion avoidance congestion avoidance Q: Is TCP rate control effective in wireless networks?
TCP/Reno Throughput as a Function of Loss Rate Given mean packet loss rate p, mean round-trip time RTT, packet size S
Example Assume a TCP flow with S = 1000 bits, RTT = 10 ms Assume the link bandwidth is 11 Mbps If there is only one flow, then the (congestion) loss rate to fully utilize the link Assume a wireless network with packet (corruption) loss rate of 4%, then the maximum achievable rate using TCP/Reno is 700 Kbps If we increase RTT = 200 ms (satellite) the rate is 35 Kbps
Discussion Does TCP perform really that bad in wireless? mobile host base station “wired“ Internet
Wireless Networking: Summary send receive status info info/control The ability to communicate is a foundational support of wireless mobile networks Unfortunately, the capacity of such networks using current techniques is limited Much progress has been made, but still more are coming.