2. Introduzione
Argomenti affrontati:
Il Network Information Flow ed il Network Coding
Soluzioni proposte: COPE
Funzionamento del protocollo
Struttura dell’header
Prestazioni
Interazione con il MAC layer
Miglioramenti proposti
Coding-Aware routing
Sviluppi futuri
Alain Bindele Network Information Flow
3. Introduzione
Problema del Network Information Flow
“In una rete in cui un insieme di nodi sorgenti devono trasmettere
informazioni ad una serie di nodi di destinazione attraverso un
insieme di nodi ripetitori, qual’´e il massimo flusso informativo
raggiungibile?”
Alain Bindele Network Information Flow
4. Introduzione
Un esempio tipico:
(a) (b)
Figura: Configurazione “Alice and Bob” senza network coding (a) e con network
coding (b)
Alain Bindele Network Information Flow
5. 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) e
con network coding (b)
Alain Bindele Network Information Flow
13. 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
Alain Bindele Network Information Flow
15. 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
TCPGoodputinMb/s
Carico offerto in Mb/s
COPE
senza COPE
0
1
2
3
4
5
6
0 2 4 6 8 10 12 14 16 18 20 22 24
ThroughputdireteinMb/s
Carico offerto in Mb/s
con COPE
senza COPE
(a) (b)
Figura: a)Prestazioni del protocollo COPE in una rete TCP senza casi di hidden
terminal. b)Prestazioni del protocollo COPE con flussi UDP in una rete wireless
ad-hoc.
Alain Bindele Network Information Flow
16. Introduzione
Prestazioni del protocollo COPE (2)
0
10
20
30
40
50
60
1 2 3 4 5 6
Percentuale
N°. pacchetti codificati insieme
Pacchetti Codificati
0
20
40
60
80
100
0 4 8 12 16 20 24
Percentuale
Carico offerto in Mb/s
Pacchetti codificati probabilisticamente
(a) (b)
Figura: a) Distribuzione del numero di pacchetti codificati nel punto di picco
relativamente all’esperimento della slide precedente. b)Percentuale dei pacchetti
codificati tramite considerazioni probabilistiche nel punto di picco relativamente
all’esperimento della slide precedente (parte b).
Alain Bindele Network Information Flow
17. Introduzione
Prestazioni del protocollo COPE: altre considerazioni
Effetto Cattura
Hidden Terminal
Confronto fra le prestazioni teoriche e pratiche
Alain Bindele Network Information Flow
18. Introduzione
Interazione tra MAC e COPE
0 0.5 1 1.5 2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Carico Offerto
ThroughputTotale
COPE
Routing
Figura: Funzioni del throughput teoriche con e senza NC
Alain Bindele Network Information Flow
19. 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
20. Introduzione
Miglioramenti per la fairness
Coda del nodo codificante
Sequenza pacchetti inviati
Sequenza inviata
Code virtuali del nodo codificante
a)
b)
Figura: Esempio: Code dei pacchetti con e senza tecnica di round-robin
Alain Bindele Network Information Flow
21. Introduzione
Coding-Aware Routing
a) b) c)
Figura: a) Routing semplice. b) Routing che massimizza le opportunit´a di codifica
c) Topologia di esempio
Alain Bindele Network Information Flow
22. Introduzione
Le euristiche:
SPATH: Routing interference-aware su singolo percorso senza
codifica.
MPATH: Routing interference-aware su percorso multiplo
senza codifica.
SPATH-CODE: Routing non coding-aware su singolo percorso
con codifica.
CA-SPATH-CODE: Routing coding-aware su singolo percorso
con codifica.
CA-MPATH-CODE: Routing coding-aware su percorsi multipli
con codifica.
Alain Bindele Network Information Flow
23. Introduzione
Confronto tra le euristiche:
Interferenze vs. Opportunit´a di codifica
MPATH: buono a basso carico, ad alti carichi soffre
l’interferenza
SPATH-CODE: buone opportunit´a di codifica ma su singolo
percorso
CA-MPATH-CODE: miglior throughput
Alain Bindele Network Information Flow
24. Introduzione
Confronto tra le euristiche:
Coding-Aware vs. opportunistic listening
SPATH-CODE + L: +10% rispetto a SPATH-CODE,
+30% rispetto a SPATH.
CA-MPATH-CODE -L: migliore del SPATH-CODE + L
Alain Bindele Network Information Flow
25. Introduzione
Confronto tra le euristiche:
Banda vs. Throughput
SPATH-CODE: 17% di risparmio rispetto a SPATH
MPATH: 17% peggiori rispetto a SPATH
Le migliori performance si ottengono tramite codifica e
ascolto opportunistico.
Alain Bindele Network Information Flow