UNIVERSITA’ DEGLI STUDI DI ROMA “TOR VERGATA”


                        Facoltà di Ingegneria

             Laurea in Ingegneria delle Telecomunicazioni
                      Tesi di Laurea Magistrale

DEFINIZIONE, IMPLEMENTAZIONE ED ANALISI
    PRESTAZIONALE DI PROTOCOLLI DI
  TRASPORTO PER RETI CONTENT-CENTRIC
Candidato:                                        Relatore:

Andrea Fratini                                    Prof. Stefano Salsano

                                                  Co-Relatori:
                                                  Prof. Andrea Detti
                             28 Aprile 2011       Ing. Matteo Pomposini
OBIETTIVO DELLA TESI
 Progettazione ed implementazione di un protocollo di
         trasporto per una rete content-centric

                     Sommario
 Introduzione al content-centric networking


 Definizione di un nuovo protocollo di trasporto


 Implementazione in NS3


 Analisi prestazionale
EVOLUZIONE NELL’USO DI INTERNET




                              Accesso tramite Nome a
Accesso tramite indirizzo             Contenuti
   IP a dispositivi di      (video, foto, file musicali…)
memoria e potenza elevata
TRAFFICO NELLA RETE INTERNET
CONTENT-CENTRIC NETWORKING
                       MOTIVAZIONI
 L’utente valuta il servizio in termini di cosa può ottenere,
  mentre lo strato IP opera in termini di dove.


 La distribuzione dei contenuti può essere migliorata
  rendendo la rete content-aware e implementando caching dei
  contenuti nei nodi intermedi della rete (le uniche soluzioni
  esistenti, come CDN, sono content-aware solo a strato
  applicativo e sono proprietarie)


 L’utente vuole ricevere contenuti affidabili, ma allo stato
  attuale l’utente è costretto a fidarsi di chi fornisce il
  contenuto e non del contenuto stesso.
CONTENT-CENTRIC NETWORKING
                          PRINCIPI


 Il Contenuto desiderato è richiesto attraverso un nome che lo
  caratterizza, tale nome diventa l’indirizzo dello strato di rete


 Qualunque nodo intermedio che possiede una replica del
  Contenuto nella sua cache può rispondere ad una richiesta e
  fornire il dato


 La sicurezza è spostata dal canale al Contenuto
Necessità di un nuovo protocollo di trasporto
                  TCP                   TRASPORTO CONTENT-CENTRIC
             Sender-Driven                         Receiver-Driven
        Comunicazione di natura           Nodi intermedi possono effettuare
F
            End-to- End                 caching di un Contenuto e trasmetterlo
U
                                                    direttamente.
N
Z        La dimensione della             La dimensione della finestra limita il
I     CongestionWindow limita il            numero di Richieste inoltrate
O    numero di Dati non riscontrati           (INTEREST) nella Rete.
N              nella Rete
A
L    Il sender usa la ricezione degli   Il receiver usa la ricezione dei Dati per
I     ACK per incrementare la sua       incrementare la sua finestra di richieste.
T          CongestionWindow
A’   Dati e ACK inviati in sequenza     Il receiver comunica quale parti del dato
          da sender e receiver.                      (chunks) vuole.
Necessità di un nuovo protocollo di trasporto


                          Packet Data Units
 Design
                    Algoritmi di controllo di flusso e
                              congestione

 Implementazione



 Valutazione prestazioni
DESIGN
                      Packet Data Units

Chunk=Parte di contenuto che identifica unità di caching della rete


                  CONTENUTO                   VIDEO (1 GB)

                                    DATA Packet (256, 512 kB)

                          Carrier-packets (1460 Bytes)
DESIGN

              INTEREST                                 Carrier-packet
                                                            Header
          Network Identifier
                                                     (Network-Identifier)
            Chunk Number                               (Chunk Number)
                                                        (Payload Type)
             Segment info
                                                        Payload Header
          (from byte to byte)
                                                        (segment info)

                                                         void payload

                                                          Path state

   Un INTEREST è l’unità dati usata per formulare la richiesta di un Contenuto.
•NID= Nome del contenuto
•Chunk Number= Numero del chunk di appartenenza
DESIGN
                  DATA                              Carrier-packet
                                                               Header
            Network Identifier
                                                      (Network-Identifier)
               Chunk Number                             (Chunk Number)
                                                         (Payload Type)
                Security Data
            (signature, Signed info,…)                   Payload Header
Segment                                             (segment info: da byte a byte)


                                                               Payload
                 Data Chunk

                                                             Path state

  Una DATA unit è la parte di un Contenuto, identificato da:
  NID= Nome del contenuto
  Chunk Number= Numero del chunk di appartenenza
  Security Data= Garanzia dell’autenticità e affidabilità del contenuto
Proprietà del protocollo content-centric
                             RECEIVER-DRIVEN
La comunicazione è iniziata dal ricevitore, inviando un INTEREST
contenente il nome di un contenuto di suo interesse.
                  CONTROLLO DI CONGESTIONE
Dopo aver ricevuto finestrabytes delnumero di pacchetti inviati nella rete,
 Come in TCP, una i primi limita il primo chunk effettuerà una successiva
richiesta aumentando la INTEREST WINDOW.
 MA è gestita dal ricevitore
                         RECUPERO D’ERRORE
Come in TCP undecidere quando la comunicazione finisce, ricezione di un
E’ il ricevitore a errore in ricezione è dovuto alla mancata terminando
pacchetto, MA nel nostro caso di un DATO e non di un ACK.
l’invio degliTCP, sono implementate le fasi di slow start e congestion avoidance,
 Come in INTEREST.
                                     2Trasporto
                                       casi:
 MA queste fasi sono regolate dai DATI ricevuti, non sono previsti ACK.
                                                          Solo gli End-node
1)Nessun dato è richiesto non è ricevuto entro un certo tempo, è compito del
 Se il DATO più ricevuto fino allo               2)Ricezione di DATI fuori sequenza:
                                    CONTENT-CENTRIC
 ricevitore ritrasmettere il relativo INTEREST ricevitore accetta i DATI fuori
     scadere del TIMEOUT:               NETWORK   -Il
Scatta algoritmo di controllo:                    sequenza.
                                       Under-CONET               Ogni nodo
INTEREST WINDOW                                   -Al terzo si attiva la fase di fast recovery,
                                     (L2, IP*, UDP/IP)
ridotta e inizio fase di slow-start               come per i 3ACK duplicati in TCP
End-user
                                      Design
                                              NODO                          SERVER
                       INTEREST (0-100)



                       DATA (0-100)
                                          INTEREST (101-200)
DATA (101-200)                                     INTEREST (201-300)
DATA (201-300)                                               DATI RICHIESTI
                                                             NON IN CACHE
                                                   INTEREST (301-700)
DATA 301-
700                                                                     INTEREST (701-1500)




  DATA 701-
  1500                                   DATI
                                 DA 0 A 700 IN CACHE
IMPLEMENTAZIONE

 NS3 (NETWORK SIMULATOR 3)
Realizzazione di entità e protocolli in C++




 WIRESHARK
Dissector in LUA
ANALISI PERFORMANCE

Utilizzo efficiente della banda         Work-conserving




         Fairness                         TCP-friendly




                                  1.3    MTU
Bandwidth
                          RTT           p( LossRate )
Benefici del caching
     CASO TCP



                Link 10 Mb/s
Benefici del caching
CASO CONTENT-CENTRIC




     Content-centric Link 10 Mb/s
        Router




          Dato
        in cache
Conclusioni


 Il nuovo approccio content-centric networking per la Future
  Internet permette di migliorare la distribuzione e il
  reperimento dei contenuti fornendo indirizzamento attraverso i
  nomi, caching nativo e sicurezza nel contenuto.


 La definizione di un nuovo protocollo di trasporto per reti
  content-centric comporta il trasferimento del potere della
  comunicazione al ricevitore, mantenendo i vantaggi derivanti
  dagli algoritmi del TCP.
Conclusioni

  E’ stata effettuata l’implementazione e l’analisi prestazionale
  del nuovo protocollo di trasporto ottenendo i seguenti risultati:
 Raggiungimento di un utilizzo efficiente della banda
 Rispetto dei criteri di fairness
 Guardando ad una graduale             integrazione     col   TCP,
  il protocollo è TCP-friendly.
 Uso in modo vantaggioso del caching nativo di una rete
  content-centric.



                       Grazie per l’attenzione…

Tesi su ccn

  • 1.
    UNIVERSITA’ DEGLI STUDIDI ROMA “TOR VERGATA” Facoltà di Ingegneria Laurea in Ingegneria delle Telecomunicazioni Tesi di Laurea Magistrale DEFINIZIONE, IMPLEMENTAZIONE ED ANALISI PRESTAZIONALE DI PROTOCOLLI DI TRASPORTO PER RETI CONTENT-CENTRIC Candidato: Relatore: Andrea Fratini Prof. Stefano Salsano Co-Relatori: Prof. Andrea Detti 28 Aprile 2011 Ing. Matteo Pomposini
  • 2.
    OBIETTIVO DELLA TESI Progettazione ed implementazione di un protocollo di trasporto per una rete content-centric Sommario  Introduzione al content-centric networking  Definizione di un nuovo protocollo di trasporto  Implementazione in NS3  Analisi prestazionale
  • 3.
    EVOLUZIONE NELL’USO DIINTERNET Accesso tramite Nome a Accesso tramite indirizzo Contenuti IP a dispositivi di (video, foto, file musicali…) memoria e potenza elevata
  • 4.
  • 5.
    CONTENT-CENTRIC NETWORKING MOTIVAZIONI  L’utente valuta il servizio in termini di cosa può ottenere, mentre lo strato IP opera in termini di dove.  La distribuzione dei contenuti può essere migliorata rendendo la rete content-aware e implementando caching dei contenuti nei nodi intermedi della rete (le uniche soluzioni esistenti, come CDN, sono content-aware solo a strato applicativo e sono proprietarie)  L’utente vuole ricevere contenuti affidabili, ma allo stato attuale l’utente è costretto a fidarsi di chi fornisce il contenuto e non del contenuto stesso.
  • 6.
    CONTENT-CENTRIC NETWORKING PRINCIPI  Il Contenuto desiderato è richiesto attraverso un nome che lo caratterizza, tale nome diventa l’indirizzo dello strato di rete  Qualunque nodo intermedio che possiede una replica del Contenuto nella sua cache può rispondere ad una richiesta e fornire il dato  La sicurezza è spostata dal canale al Contenuto
  • 7.
    Necessità di unnuovo protocollo di trasporto TCP TRASPORTO CONTENT-CENTRIC Sender-Driven Receiver-Driven Comunicazione di natura Nodi intermedi possono effettuare F End-to- End caching di un Contenuto e trasmetterlo U direttamente. N Z La dimensione della La dimensione della finestra limita il I CongestionWindow limita il numero di Richieste inoltrate O numero di Dati non riscontrati (INTEREST) nella Rete. N nella Rete A L Il sender usa la ricezione degli Il receiver usa la ricezione dei Dati per I ACK per incrementare la sua incrementare la sua finestra di richieste. T CongestionWindow A’ Dati e ACK inviati in sequenza Il receiver comunica quale parti del dato da sender e receiver. (chunks) vuole.
  • 8.
    Necessità di unnuovo protocollo di trasporto Packet Data Units  Design Algoritmi di controllo di flusso e congestione  Implementazione  Valutazione prestazioni
  • 9.
    DESIGN Packet Data Units Chunk=Parte di contenuto che identifica unità di caching della rete CONTENUTO VIDEO (1 GB) DATA Packet (256, 512 kB) Carrier-packets (1460 Bytes)
  • 10.
    DESIGN INTEREST Carrier-packet Header Network Identifier (Network-Identifier) Chunk Number (Chunk Number) (Payload Type) Segment info Payload Header (from byte to byte) (segment info) void payload Path state Un INTEREST è l’unità dati usata per formulare la richiesta di un Contenuto. •NID= Nome del contenuto •Chunk Number= Numero del chunk di appartenenza
  • 11.
    DESIGN DATA Carrier-packet Header Network Identifier (Network-Identifier) Chunk Number (Chunk Number) (Payload Type) Security Data (signature, Signed info,…) Payload Header Segment (segment info: da byte a byte) Payload Data Chunk Path state Una DATA unit è la parte di un Contenuto, identificato da: NID= Nome del contenuto Chunk Number= Numero del chunk di appartenenza Security Data= Garanzia dell’autenticità e affidabilità del contenuto
  • 12.
    Proprietà del protocollocontent-centric RECEIVER-DRIVEN La comunicazione è iniziata dal ricevitore, inviando un INTEREST contenente il nome di un contenuto di suo interesse. CONTROLLO DI CONGESTIONE Dopo aver ricevuto finestrabytes delnumero di pacchetti inviati nella rete, Come in TCP, una i primi limita il primo chunk effettuerà una successiva richiesta aumentando la INTEREST WINDOW. MA è gestita dal ricevitore RECUPERO D’ERRORE Come in TCP undecidere quando la comunicazione finisce, ricezione di un E’ il ricevitore a errore in ricezione è dovuto alla mancata terminando pacchetto, MA nel nostro caso di un DATO e non di un ACK. l’invio degliTCP, sono implementate le fasi di slow start e congestion avoidance, Come in INTEREST. 2Trasporto casi: MA queste fasi sono regolate dai DATI ricevuti, non sono previsti ACK. Solo gli End-node 1)Nessun dato è richiesto non è ricevuto entro un certo tempo, è compito del Se il DATO più ricevuto fino allo 2)Ricezione di DATI fuori sequenza: CONTENT-CENTRIC ricevitore ritrasmettere il relativo INTEREST ricevitore accetta i DATI fuori scadere del TIMEOUT: NETWORK -Il Scatta algoritmo di controllo: sequenza. Under-CONET Ogni nodo INTEREST WINDOW -Al terzo si attiva la fase di fast recovery, (L2, IP*, UDP/IP) ridotta e inizio fase di slow-start come per i 3ACK duplicati in TCP
  • 13.
    End-user Design NODO SERVER INTEREST (0-100) DATA (0-100) INTEREST (101-200) DATA (101-200) INTEREST (201-300) DATA (201-300) DATI RICHIESTI NON IN CACHE INTEREST (301-700) DATA 301- 700 INTEREST (701-1500) DATA 701- 1500 DATI DA 0 A 700 IN CACHE
  • 14.
    IMPLEMENTAZIONE  NS3 (NETWORKSIMULATOR 3) Realizzazione di entità e protocolli in C++  WIRESHARK Dissector in LUA
  • 15.
    ANALISI PERFORMANCE Utilizzo efficientedella banda Work-conserving Fairness TCP-friendly 1.3 MTU Bandwidth RTT p( LossRate )
  • 16.
    Benefici del caching CASO TCP Link 10 Mb/s
  • 17.
    Benefici del caching CASOCONTENT-CENTRIC Content-centric Link 10 Mb/s Router Dato in cache
  • 18.
    Conclusioni  Il nuovoapproccio content-centric networking per la Future Internet permette di migliorare la distribuzione e il reperimento dei contenuti fornendo indirizzamento attraverso i nomi, caching nativo e sicurezza nel contenuto.  La definizione di un nuovo protocollo di trasporto per reti content-centric comporta il trasferimento del potere della comunicazione al ricevitore, mantenendo i vantaggi derivanti dagli algoritmi del TCP.
  • 19.
    Conclusioni E’stata effettuata l’implementazione e l’analisi prestazionale del nuovo protocollo di trasporto ottenendo i seguenti risultati:  Raggiungimento di un utilizzo efficiente della banda  Rispetto dei criteri di fairness  Guardando ad una graduale integrazione col TCP, il protocollo è TCP-friendly.  Uso in modo vantaggioso del caching nativo di una rete content-centric. Grazie per l’attenzione…