About Network coding

27
Introduzione Network Information Flow Network Coding Alain Bindele Corso di Reti Avanzate 2012/2013 14 giugno 2013 Alain Bindele Network Information Flow

description

A slide about Network coding.

Transcript of About Network coding

Page 1: About Network coding

Introduzione

Network Information FlowNetwork Coding

Alain Bindele

Corso di Reti Avanzate 2012/2013

14 giugno 2013

Alain Bindele Network Information Flow

Page 2: About Network coding

Introduzione

Argomenti affrontati:

I Il Network Information Flow ed il Network CodingI Soluzioni proposte: COPE

I Funzionamento del protocolloI Struttura dell’headerI PrestazioniI Interazione con il MAC layerI Miglioramenti proposti

I Coding-Aware routing

I Sviluppi futuri

Alain Bindele Network Information Flow

Page 3: About Network coding

Introduzione

Problema del Network Information Flow

“In una rete in cui un insieme di nodi sorgenti devono trasmettereinformazioni ad una serie di nodi di destinazione attraverso uninsieme di nodi ripetitori, qual’e il massimo flusso informativo

raggiungibile?”

Alain Bindele Network Information Flow

Page 4: About Network coding

Introduzione

Un esempio tipico:

(a) (b)

Figura: Configurazione “Alice and Bob” senza network coding (a) e con networkcoding (b)

Alain Bindele Network Information Flow

Page 5: About Network coding

Introduzione

Un altro esempio tipico:

A B

D E

x

x

C

x,y x,y

(a) (b)

Figura: Rete di comunicazione “a farfalla” senza l’uso del network coding (a) econ network coding (b)

Alain Bindele Network Information Flow

Page 6: About Network coding

Introduzione

Il protocollo COPE: L’importanza di essere opportunisti...(in sensobuono)

Alain Bindele Network Information Flow

Page 7: About Network coding

Introduzione

Il protocollo COPE:

I Ascolto Opportunistico

I Coding Opportunistico

I Pseudo-Broadast

I Riscontri Asincroni

I Reception Reports

Alain Bindele Network Information Flow

Page 8: About Network coding

Introduzione

Il problema della scelta.

P1

P2

P3

P4

Pacchetti

A

Dest.

C

C

D

0 0 0

0 0 0

1 1 1

1 1 1

0 0 0

0 0 0

1 1 1

1 1 1

0 0 0

0 0 0

1 1 1

1 1 1

D

C

BA

P1P2P3P4

P4 P3

P1 P4

P3 P1

P1+P2

(a) Hop successivi dei pacchetti in coda nel nodo B (b) Scelta pessima

0 0

0 0

0 0

0 0

1 1

1 1

1 1

1 1

0 0

0 0

0 0

0 0

0 0

1 1

1 1

1 1

1 1

1 1

0 0

0 0

0 0

0 0

1 1

1 1

1 1

1 1

D

C

BA

P1P2P3P4

P4 P3

P1 P4

P3 P1

P1+P3

0 0

0 0

1 1

1 1

0 0

0 0

0 0

1 1

1 1

1 1

0 0

0 0

1 1

1 1

0 0

0 0

1 1

1 1 D

C

BA

P1P2P3P4

P4 P3

P1 P4

P3 P1

P1+P3+P4

(c)Buona Scelta (d) Miglior scelta

(C può decodificare, A no)

(A e C possono decodificare) (A, C e D possono decodificare)

Figura: Coding opportunistico: nella situazione (a) le diverse scelte portano diversifattori di miglioramento sulle prestazioni.Alain Bindele Network Information Flow

Page 9: About Network coding

Introduzione

Idea!! Perche allora non utilizzare i protocolli broadcast??Quasi...

Alain Bindele Network Information Flow

Page 10: About Network coding

Introduzione

Soluzione Pseudo-Broadcastossia: come implementare un meccanismo broadcast su flussi

unicast.

Alain Bindele Network Information Flow

Page 11: About Network coding

Introduzione

Codifica dei pacchetti: Obiettivi

I Nessun Ritardo!

I Pacchetti Omogenei

I Differenti Destinazioni

I Massima probabilita di ricezione

Alain Bindele Network Information Flow

Page 12: About Network coding

Introduzione

Decodifica dei pacchettiNiente di piu semplice:Una hashlist ed uno Xor.

Alain Bindele Network Information Flow

Page 13: About Network coding

Introduzione

L’algoritmo di ricezione e di invio.

Encoded?

Can send

yes

no

Schedule

retransmissions

Add reception reports

To wireless device

Add acks to header

Dequeue head of

Output Queue

Encode if

possible

Encoded?

Packet

arrival

yes

no

Decode and schedule acks

Extract acks meant for me

Update retransmission events

yes

no

Enqueue in

Output Queue

Deliver

to host

Extract Reception Reports

Update Neighbor’s State

Am I nexthop?

Decodable?

Am I destination?

yes

yes

Add to Packet Pool

Add to Packet Pool

(a) Sender side (b) Receiver side

Figura: Flusso dell’algoritmo in codifica e decodificaAlain Bindele Network Information Flow

Page 14: About Network coding

Introduzione

Struttura dell’header COPE

Figura: Struttura dell’ Header del protocollo COPE.

Alain Bindele Network Information Flow

Page 15: About Network coding

Introduzione

Prestazioni del protocollo COPE

0.6

0.8

1

1.2

1.4

1.6

1.8

2

1 1.5 2 2.5 3

TC

P G

oo

dp

ut in

Mb

/s

Carico offerto in Mb/s

COPEsenza COPE

0

1

2

3

4

5

6

0 2 4 6 8 10 12 14 16 18 20 22 24

Th

rou

gh

pu

t d

i re

te in

Mb

/s

Carico offerto in Mb/s

con COPEsenza COPE

(a) (b)

Figura: a)Prestazioni del protocollo COPE in una rete TCP senza casi di hiddenterminal. b)Prestazioni del protocollo COPE con flussi UDP in una rete wirelessad-hoc.

Alain Bindele Network Information Flow

Page 16: About Network coding

Introduzione

Prestazioni del protocollo COPE (2)

0

10

20

30

40

50

60

1 2 3 4 5 6

Pe

rce

ntu

ale

N°. pacchetti codificati insieme

Pacchetti Codificati

0

20

40

60

80

100

0 4 8 12 16 20 24

Pe

rce

ntu

ale

Carico offerto in Mb/s

Pacchetti codificati probabilisticamente

(a) (b)

Figura: a) Distribuzione del numero di pacchetti codificati nel punto di piccorelativamente all’esperimento della slide precedente. b)Percentuale dei pacchetticodificati tramite considerazioni probabilistiche nel punto di picco relativamenteall’esperimento della slide precedente (parte b).

Alain Bindele Network Information Flow

Page 17: About Network coding

Introduzione

Prestazioni del protocollo COPE: altre considerazioni

I Effetto Cattura

I Hidden Terminal

I Confronto fra le prestazioni teoriche e pratiche

Alain Bindele Network Information Flow

Page 18: About Network coding

Introduzione

Interazione tra MAC e COPE

0 0.5 1 1.5 20

0.1

0.2

0.3

0.4

0.5

0.6

0.7

Carico Offerto

Th

rou

gh

pu

t T

ota

le

COPE

Routing

Figura: Funzioni del throughput teoriche con e senza NC

Alain Bindele Network Information Flow

Page 19: About Network coding

Introduzione

Interazione tra MAC e COPE (Topologia a stella)

A

B

C

D

r

Figura: Esempio di topologia a stella

Alain Bindele Network Information Flow

Page 20: About Network coding

Introduzione

Miglioramenti per la fairness

Coda del nodo codi�cante

Sequenza pacchetti inviati

Sequenza inviata

Code virtuali del nodo codi�cante

a)

b)

Figura: Esempio: Code dei pacchetti con e senza tecnica di round-robin

Alain Bindele Network Information Flow

Page 21: About Network coding

Introduzione

Coding-Aware Routing

a) b) c)

Figura: a) Routing semplice. b) Routing che massimizza le opportunita di codificac) Topologia di esempio

Alain Bindele Network Information Flow

Page 22: About Network coding

Introduzione

Le euristiche:

I SPATH: Routing interference-aware su singolo percorso senzacodifica.

I MPATH: Routing interference-aware su percorso multiplosenza codifica.

I SPATH-CODE: Routing non coding-aware su singolo percorsocon codifica.

I CA-SPATH-CODE: Routing coding-aware su singolo percorsocon codifica.

I CA-MPATH-CODE: Routing coding-aware su percorsi multiplicon codifica.

Alain Bindele Network Information Flow

Page 23: About Network coding

Introduzione

Confronto tra le euristiche:

Interferenze vs. Opportunita di codifica

I MPATH: buono a basso carico, ad alti carichi soffrel’interferenza

I SPATH-CODE: buone opportunita di codifica ma su singolopercorso

I CA-MPATH-CODE: miglior throughput

Alain Bindele Network Information Flow

Page 24: About Network coding

Introduzione

Confronto tra le euristiche:

Coding-Aware vs. opportunistic listening

I SPATH-CODE + L: +10% rispetto a SPATH-CODE,+30% rispetto a SPATH.

I CA-MPATH-CODE -L: migliore del SPATH-CODE + L

Alain Bindele Network Information Flow

Page 25: About Network coding

Introduzione

Confronto tra le euristiche:

Banda vs. Throughput

I SPATH-CODE: 17% di risparmio rispetto a SPATH

I MPATH: 17% peggiori rispetto a SPATH

I Le migliori performance si ottengono tramite codifica eascolto opportunistico.

Alain Bindele Network Information Flow

Page 26: About Network coding

Introduzione

Confronto tra le euristiche:

a) b)

c) d)

e)

Alain Bindele Network Information Flow

Page 27: About Network coding

Introduzione

Confronto tra le euristiche (2):

e)

Alain Bindele Network Information Flow