65
Network Coding 1

Network Coding

Embed Size (px)

DESCRIPTION

network coding

Citation preview

Page 1: Network Coding

Network Coding

1

Page 2: Network Coding

What is Network Coding

• Generalization of store and forward networks

• Routers mix/code packets’ content before

forwarding

2

Page 3: Network Coding

The Butterfly Example

• Source wants to multicasts a and b to both

destinations Link capacity is 1message/second

3

Page 4: Network Coding

4

Page 5: Network Coding

What is Network Coding Good for?

• Throughput• Throughput

5

Page 6: Network Coding

Improves Multicast Throughput

6

Page 7: Network Coding

Improves Unicast Throughput

• s1 wants to send a to d1, and s2 wants to send

b to d2

7

Page 8: Network Coding

Improves Unicast Throughput

• s1 wants to send a to d1, and s2 wants to send

b to d2

8

Page 9: Network Coding

What is Network Coding Good for?

• Throughput

• Robustness• Robustness

9

Page 10: Network Coding

Robustness to Packet Loss

10

Page 11: Network Coding

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

Page 12: Network Coding

COPE

• An Example of Inter-Session Network Coding• An Example of Inter-Session Network Coding

12

Page 13: Network Coding

13

Page 14: Network Coding

• But, wireless networks struggle with low

throughput, particularly in dense deployments

• Need a solution!• Need a solution!

14

Page 15: Network Coding

Current Approach

• Current Approach Requires 4 transmissions

• But can we do better?

15

Page 16: Network Coding

16

Page 17: Network Coding

Beyond Duplex Communications

• Two communications that intersect at a router

17

Page 18: Network Coding

18

Page 19: Network Coding

19

Page 20: Network Coding

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

Page 21: Network Coding

COPE

• Opportunistic Listening

• Opportunistic Coding• Opportunistic Coding

21

Page 22: Network Coding

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

Page 23: Network Coding

Opportunistic Listening

23

Page 24: Network Coding

• 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

Page 25: Network Coding

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

Page 26: Network Coding

Which Packets to Code Together?

26

Page 27: Network Coding

27

Page 28: Network Coding

28

Page 29: Network Coding

• 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

Page 30: Network Coding

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

Page 31: Network Coding

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

Page 32: Network Coding

Throughput

32

Page 33: Network Coding

33

Page 34: Network Coding

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

Page 35: Network Coding

35

Page 36: Network Coding

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

Page 37: Network Coding

37

Page 38: Network Coding

38

Page 39: Network Coding

39

Page 40: Network Coding

Extension Coding Aware Routing

Protocol

• 6 transmissions to send two packets No coding

opportunities since flows take different

40

Page 41: Network Coding

41

Page 42: Network Coding

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

Page 43: Network Coding

Mesh networks have high loss rates

43

Page 44: Network Coding

Sender Is in a Bad Spot

• Best single path == Prob. of loss 50%

44

Page 45: Network Coding

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

Page 46: Network Coding

Challenge

• Overlap in received packets ==Routers forward

duplicatesduplicates

46

Page 47: Network Coding

Challenge

47

Page 48: Network Coding

Solution:Random Network Coding

• Each router forwards random combinationsof

packetspackets

48

Page 49: Network Coding

49

Page 50: Network Coding

MORE• Source sends packets in batches

• Forwarders keep all heard packets in a buffer

• Nodes transmit linear combinations of

buffered packets

50

Page 51: Network Coding

51

Page 52: Network Coding

MORE

• Destination decodes once it receives enough

combinations

• Say batch is 3 packets

• Destination acks batch, and source moves to

next batch

52

Page 53: Network Coding

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

Page 54: Network Coding

Probabilistic Forwarding

54

Page 55: Network Coding

Can’t Do it Without Coding

55

Page 56: Network Coding

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

Page 57: Network Coding

57

Page 58: Network Coding

• Can we do better than MORE

• Includes Opportunistic Routing

58

Page 59: Network Coding

59

Page 60: Network Coding

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

Page 61: Network Coding

61

Page 62: Network Coding

62

Page 63: Network Coding

MIXIT

• MIXIT Prevents Duplicates using Symbol-level

Network Coding

• Forward random combinations of correct • Forward random combinations of correct

symbols

63

Page 64: Network Coding

How to represent the code

• How to efficiently tell the destination the code

of each bit?

• Use run length encoding

64

Page 65: Network Coding

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