SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
Introduzione
Network Information Flow
Network Coding
Alain Bindele
Corso di Reti Avanzate 2012/2013
14 giugno 2013
Alain Bindele Network Information Flow
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
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
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
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
Introduzione
Il protocollo COPE: L’importanza di essere opportunisti...(in senso
buono)
Alain Bindele Network Information Flow
Introduzione
Il protocollo COPE:
Ascolto Opportunistico
Coding Opportunistico
Pseudo-Broadast
Riscontri Asincroni
Reception Reports
Alain Bindele Network Information Flow
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)HopsuccessivideipacchettiincodanelnodoB (b)Sceltapessima
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 diversi
fattori di miglioramento sulle prestazioni.Alain Bindele Network Information Flow
Introduzione
Idea!! Perch´e allora non utilizzare i protocolli broadcast??
Quasi...
Alain Bindele Network Information Flow
Introduzione
Soluzione Pseudo-Broadcast
ossia: come implementare un meccanismo broadcast su flussi
unicast.
Alain Bindele Network Information Flow
Introduzione
Codifica dei pacchetti: Obiettivi
Nessun Ritardo!
Pacchetti Omogenei
Differenti Destinazioni
Massima probabilit´a di ricezione
Alain Bindele Network Information Flow
Introduzione
Decodifica dei pacchetti
Niente di pi´u semplice:Una hashlist ed uno Xor.
Alain Bindele Network Information Flow
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
Introduzione
Struttura dell’header COPE
Figura: Struttura dell’ Header del protocollo COPE.
Alain Bindele Network Information Flow
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
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
Introduzione
Prestazioni del protocollo COPE: altre considerazioni
Effetto Cattura
Hidden Terminal
Confronto fra le prestazioni teoriche e pratiche
Alain Bindele Network Information Flow
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
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
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
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
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
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
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
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
Introduzione
Confronto tra le euristiche:
a) b)
c) d)
Alain Bindele Network Information Flow
Introduzione
Confronto tra le euristiche (2):
e)
Alain Bindele Network Information Flow

Más contenido relacionado

Similar a About Network coding

Introduzione a Internet (1/2) - 18/19
Introduzione a Internet (1/2) - 18/19Introduzione a Internet (1/2) - 18/19
Introduzione a Internet (1/2) - 18/19Giuseppe Vizzari
 
IPv6 - Breve panoramica tra mito e realtà
IPv6 - Breve panoramica tra mito e realtàIPv6 - Breve panoramica tra mito e realtà
IPv6 - Breve panoramica tra mito e realtàConsulthinkspa
 
2 - Introduzione ad Internet (1/2)
2 - Introduzione ad Internet (1/2)2 - Introduzione ad Internet (1/2)
2 - Introduzione ad Internet (1/2)Giuseppe Vizzari
 
2 - Introduzione a Internet (1/2) - 17/18
2 - Introduzione a Internet (1/2) - 17/182 - Introduzione a Internet (1/2) - 17/18
2 - Introduzione a Internet (1/2) - 17/18Giuseppe Vizzari
 
Confronto Modello ISO/OSI e Modello TCP/IP
Confronto Modello ISO/OSI e Modello TCP/IPConfronto Modello ISO/OSI e Modello TCP/IP
Confronto Modello ISO/OSI e Modello TCP/IPRiccardoReani
 
9 Intranetting
9 Intranetting9 Intranetting
9 Intranettingacapone
 
High Level Synthesis Using Esterel
High Level Synthesis Using EsterelHigh Level Synthesis Using Esterel
High Level Synthesis Using EsterelAlberto Minetti
 
1 Intro Propedeutici
1 Intro Propedeutici1 Intro Propedeutici
1 Intro Propedeuticiacapone
 
Thesis Murgida Panella Slide it
Thesis Murgida Panella Slide itThesis Murgida Panella Slide it
Thesis Murgida Panella Slide itMarco Santambrogio
 
Reti locali cablate e wireless
Reti locali cablate e wirelessReti locali cablate e wireless
Reti locali cablate e wirelessSalvatore La Tona
 
ILIC Dejan - MSc presentation: Secure Business Computation by using Garbled C...
ILIC Dejan - MSc presentation: Secure Business Computation by using Garbled C...ILIC Dejan - MSc presentation: Secure Business Computation by using Garbled C...
ILIC Dejan - MSc presentation: Secure Business Computation by using Garbled C...Dejan Ilic
 
4 Livello Ip Parte3 Bw
4 Livello Ip Parte3 Bw4 Livello Ip Parte3 Bw
4 Livello Ip Parte3 BwMajong DevJfu
 

Similar a About Network coding (20)

Introduzione a Internet (1/2) - 18/19
Introduzione a Internet (1/2) - 18/19Introduzione a Internet (1/2) - 18/19
Introduzione a Internet (1/2) - 18/19
 
Modello TCP/IP
Modello TCP/IPModello TCP/IP
Modello TCP/IP
 
5_internet
5_internet5_internet
5_internet
 
IPv6 - Breve panoramica tra mito e realtà
IPv6 - Breve panoramica tra mito e realtàIPv6 - Breve panoramica tra mito e realtà
IPv6 - Breve panoramica tra mito e realtà
 
2 - Introduzione ad Internet (1/2)
2 - Introduzione ad Internet (1/2)2 - Introduzione ad Internet (1/2)
2 - Introduzione ad Internet (1/2)
 
2 - Introduzione a Internet (1/2) - 17/18
2 - Introduzione a Internet (1/2) - 17/182 - Introduzione a Internet (1/2) - 17/18
2 - Introduzione a Internet (1/2) - 17/18
 
Confronto Modello ISO/OSI e Modello TCP/IP
Confronto Modello ISO/OSI e Modello TCP/IPConfronto Modello ISO/OSI e Modello TCP/IP
Confronto Modello ISO/OSI e Modello TCP/IP
 
Presentazione Tesi
Presentazione TesiPresentazione Tesi
Presentazione Tesi
 
9 Intranetting
9 Intranetting9 Intranetting
9 Intranetting
 
High Level Synthesis Using Esterel
High Level Synthesis Using EsterelHigh Level Synthesis Using Esterel
High Level Synthesis Using Esterel
 
Reti Domestiche
Reti DomesticheReti Domestiche
Reti Domestiche
 
1 Intro Propedeutici
1 Intro Propedeutici1 Intro Propedeutici
1 Intro Propedeutici
 
Thesis Murgida Panella Slide it
Thesis Murgida Panella Slide itThesis Murgida Panella Slide it
Thesis Murgida Panella Slide it
 
Gnutella
GnutellaGnutella
Gnutella
 
Reti locali cablate e wireless
Reti locali cablate e wirelessReti locali cablate e wireless
Reti locali cablate e wireless
 
ILIC Dejan - MSc presentation: Secure Business Computation by using Garbled C...
ILIC Dejan - MSc presentation: Secure Business Computation by using Garbled C...ILIC Dejan - MSc presentation: Secure Business Computation by using Garbled C...
ILIC Dejan - MSc presentation: Secure Business Computation by using Garbled C...
 
ISO-OSI
ISO-OSIISO-OSI
ISO-OSI
 
01 intro pc
01 intro pc01 intro pc
01 intro pc
 
Enter goes ipv6
Enter goes ipv6 Enter goes ipv6
Enter goes ipv6
 
4 Livello Ip Parte3 Bw
4 Livello Ip Parte3 Bw4 Livello Ip Parte3 Bw
4 Livello Ip Parte3 Bw
 

Más de Alain Bindele

Create rails project
Create rails projectCreate rails project
Create rails projectAlain Bindele
 
Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG ...
Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG ...Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG ...
Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG ...Alain Bindele
 
Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j)
Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j)Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j)
Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j)Alain Bindele
 
Sift - Scale Invariant Feature Transform
Sift - Scale Invariant Feature TransformSift - Scale Invariant Feature Transform
Sift - Scale Invariant Feature TransformAlain Bindele
 

Más de Alain Bindele (6)

Mystic waters
Mystic watersMystic waters
Mystic waters
 
Create rails project
Create rails projectCreate rails project
Create rails project
 
Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG ...
Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG ...Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG ...
Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG ...
 
Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j)
Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j)Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j)
Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j)
 
Sift - Scale Invariant Feature Transform
Sift - Scale Invariant Feature TransformSift - Scale Invariant Feature Transform
Sift - Scale Invariant Feature Transform
 
about botnets
about botnetsabout botnets
about botnets
 

About Network coding

  • 1. Introduzione Network Information Flow Network Coding Alain Bindele Corso di Reti Avanzate 2012/2013 14 giugno 2013 Alain Bindele Network Information Flow
  • 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
  • 6. Introduzione Il protocollo COPE: L’importanza di essere opportunisti...(in senso buono) Alain Bindele Network Information Flow
  • 7. Introduzione Il protocollo COPE: Ascolto Opportunistico Coding Opportunistico Pseudo-Broadast Riscontri Asincroni Reception Reports Alain Bindele Network Information Flow
  • 8. 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)HopsuccessivideipacchettiincodanelnodoB (b)Sceltapessima 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 diversi fattori di miglioramento sulle prestazioni.Alain Bindele Network Information Flow
  • 9. Introduzione Idea!! Perch´e allora non utilizzare i protocolli broadcast?? Quasi... Alain Bindele Network Information Flow
  • 10. Introduzione Soluzione Pseudo-Broadcast ossia: come implementare un meccanismo broadcast su flussi unicast. Alain Bindele Network Information Flow
  • 11. Introduzione Codifica dei pacchetti: Obiettivi Nessun Ritardo! Pacchetti Omogenei Differenti Destinazioni Massima probabilit´a di ricezione Alain Bindele Network Information Flow
  • 12. Introduzione Decodifica dei pacchetti Niente di pi´u semplice:Una hashlist ed uno Xor. 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
  • 14. Introduzione Struttura dell’header COPE Figura: Struttura dell’ Header del protocollo COPE. 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
  • 26. Introduzione Confronto tra le euristiche: a) b) c) d) Alain Bindele Network Information Flow
  • 27. Introduzione Confronto tra le euristiche (2): e) Alain Bindele Network Information Flow