Upload
sheikh-faisal
View
12
Download
1
Embed Size (px)
DESCRIPTION
network coding
Citation preview
Network Coding
1
What is Network Coding
• Generalization of store and forward networks
• Routers mix/code packets’ content before
forwarding
2
The Butterfly Example
• Source wants to multicasts a and b to both
destinations Link capacity is 1message/second
3
4
What is Network Coding Good for?
• Throughput• Throughput
5
Improves Multicast Throughput
6
Improves Unicast Throughput
• s1 wants to send a to d1, and s2 wants to send
b to d2
7
Improves Unicast Throughput
• s1 wants to send a to d1, and s2 wants to send
b to d2
8
What is Network Coding Good for?
• Throughput
• Robustness• Robustness
9
Robustness to Packet Loss
10
Two Types of Network Coding
• Intersession
– Codes Packet across connection
– Increases Throughput
– Mainly Unicast– Mainly Unicast
• Intra-session
• Codes packets within a connection
• Robustness to packet loss
• Mainly multicast
11
COPE
• An Example of Inter-Session Network Coding• An Example of Inter-Session Network Coding
12
13
• But, wireless networks struggle with low
throughput, particularly in dense deployments
• Need a solution!• Need a solution!
14
Current Approach
• Current Approach Requires 4 transmissions
• But can we do better?
15
16
Beyond Duplex Communications
• Two communications that intersect at a router
17
18
19
Differences from Traditional
Wireless Networks
• Embrace the broadcast nature of wireless
– Dispose of the point-to-point abstraction
• Routers mix bytes across packets, then • Routers mix bytes across packets, then
forward them Network Coding
20
COPE
• Opportunistic Listening
• Opportunistic Coding• Opportunistic Coding
21
Opportunistic Listening
• Exploit wireless broadcast
• Every node snoops on all packets• Every node snoops on all packets
• A node stores all heard packets for a limited
time
22
Opportunistic Listening
23
• Node sends Reception Reports to tell its
neighbors what packets it heard
• Reports are piggybacked on packets
Opportunistic Listening
• Reports are piggybacked on packets
• If no packets to send, periodically send reports
24
Opportunistic Coding
• To send packet p to neighbor A, XOR p with
packets already known to A
– Thus, A can decode
• But how can multiple neighbors benefit from a • But how can multiple neighbors benefit from a
single transmission?
25
Which Packets to Code Together?
26
27
28
• But, to decode a node needs to know which
packets are XOR-ed
• Put that information in the header of the• Put that information in the header of the
• coded packet
• E.g., P = P1 +P2 =P’s header will say P1,P2
29
But how does a node know what
packets a neighbor has?
• Reception Reports
• But reception reports may get lost or arrive too latelate
• Make informed guesses based on the delivery rate between the two nodes
• Yes, error might occur and we recover by encoding and retransmitting
30
COPE’s Characteristics
• COPE is a forwarding mechanism
– It sits transparently between IP and MAC
– Routing is unmodified (i.e., shortest path)
• Opportunistic Code packets if possible, if not
forward without coding
• Does not delay packets
31
Throughput
32
33
Why more Gain than 1.33?
• COPE alleviates the mismatch between MAC’s
capacity allocation and the congestion at a capacity allocation and the congestion at a
node
34
35
Large-Scale Experiments
• Wireless Test bed
– 20 nodes
– 2 floors
• Experiments• Experiments
– Pick sender and receiver randomly
– Transfer size from Internet measurements
– Flows arrive according to Poisson and send as fast as the MAC permits
– UDP traffic
36
37
38
39
Extension Coding Aware Routing
Protocol
• 6 transmissions to send two packets No coding
opportunities since flows take different
40
41
Summary of COPE
• COPE harnesses broadcast to achieve in-
network compression
• Inter-session network coding for unicast• Inter-session network coding for unicast
• Significant throughput gains depending on
topology and traffic
42
Mesh networks have high loss rates
43
Sender Is in a Bad Spot
• Best single path == Prob. of loss 50%
44
Leverage Spatial Diversity
• Best single path = Prob. of loss 50%
• Use spatial diversity Any router forwards
packet == Prob. of loss 0.5^4 = 6%
45
Challenge
• Overlap in received packets ==Routers forward
duplicatesduplicates
46
Challenge
47
Solution:Random Network Coding
• Each router forwards random combinationsof
packetspackets
48
49
MORE• Source sends packets in batches
• Forwarders keep all heard packets in a buffer
• Nodes transmit linear combinations of
buffered packets
50
51
MORE
• Destination decodes once it receives enough
combinations
• Say batch is 3 packets
• Destination acks batch, and source moves to
next batch
52
But How Do We Get the Most
Throughput?
• If A and B have same information, it is more
efficient for B to send it
53
Probabilistic Forwarding
54
Can’t Do it Without Coding
55
Adapting to Short-term Dynamics
• MORE triggers transmission by receptions
– if received more than expected send more
– if received less than expected send less
• A node has a credit counter• A node has a credit counter
– Upon packet reception, it increments the counter
based on the computed forwarding probabilities
– Upon transmission, it decrements the counter
56
57
• Can we do better than MORE
• Includes Opportunistic Routing
58
59
MIXIT
• Opportunistically route symbols, not packets
– Low overhead reliability from spatially diverse
unreliable links
• Not necessary to make every link reliable• Not necessary to make every link reliable
• Network funnels correct pieces to destination
60
61
62
MIXIT
• MIXIT Prevents Duplicates using Symbol-level
Network Coding
• Forward random combinations of correct • Forward random combinations of correct
symbols
63
How to represent the code
• How to efficiently tell the destination the code
of each bit?
• Use run length encoding
64
Open Research Problems
• How do we combine inter-session and intra-
session network coding?
• Rate adaptation given network coding (i.e., • Rate adaptation given network coding (i.e.,
given broadcast)
• Congestion control for intra-session coding
65