Fondamenti di Internet e Reti - Alberto Gatto, Martino de Marco Fondamenti di Internet e Reti - Polimi

Pagina creata da Marco Rubino
 
CONTINUA A LEGGERE
Fondamenti di Internet e Reti - Alberto Gatto, Martino de Marco Fondamenti di Internet e Reti - Polimi
Fondamenti di Internet e Reti

   Alberto Gatto, Martino de Marco

Fondamenti di Internet e Reti
Fondamenti di Internet e Reti - Alberto Gatto, Martino de Marco Fondamenti di Internet e Reti - Polimi
1 – Introduzione e Architetture

   Alberto Gatto, Martino de Marco

Fondamenti di Internet e Reti
Fondamenti di Internet e Reti - Alberto Gatto, Martino de Marco Fondamenti di Internet e Reti - Polimi
1a – Introduzione al corso
   Scopo e finalità, testi e materiale,
   esami, contatti

Fondamenti di Internet e Reti
Fondamenti di Internet e Reti - Alberto Gatto, Martino de Marco Fondamenti di Internet e Reti - Polimi
Docente
• Prof. Alberto Gatto
• Ufficio:
  – DEIB, ed. 20, via Ponzio 34/5 Milano, 3° piano
• Tel: 02 2399 8926
• E-mail: alberto.gatto@polimi.it
• Web page:
  https://www.deib.polimi.it/eng/people/details/210678
• Home page del corso:
  http://policom.deib.polimi.it/teaching/a-gatto-fondamenti-di-
  internet-e-reti/
• Orario di ricevimento:
  – Lunedì/venerdì (orario lezione, consigliato contattare il
     docente in precedenza)
• Collaboratore per laboratori:
  – Ing. Omran Ayoub
  – E-mail: omran.ayoub@polimi.it

                            FIR: 1 - Introduzione e architetture   4
Fondamenti di Internet e Reti - Alberto Gatto, Martino de Marco Fondamenti di Internet e Reti - Polimi
Materiale didattico

• Testo di riferimento:
  James F. Kurose, Keith W. Ross
  Reti di Calcolatori e Internet
  Un approccio top-down
  Settima Edizione (2017)
  Pearson
• Disponibile anche in inglese
  James F. Kurose, Keith W. Ross
  Computer Networking
  A top-down approach
  Sixth Edition (2012)
  Pearson

                          FIR: 1 - Introduzione e architetture   5
Fondamenti di Internet e Reti - Alberto Gatto, Martino de Marco Fondamenti di Internet e Reti - Polimi
Materiale didattico

• Altro materiale
  – Slides delle lezioni
  – Appunti delle esercitazioni
  – Materiale a supporto delle attività di laboratorio
  – Letture suggerite (link, articoli)
  – Tool per lezioni e laboratorio

• Tutto il materiale è disponibile sulla pagina web del
  corso cui si accede dalla pagina personale del docente

                             FIR: 1 - Introduzione e architetture   6
Fondamenti di Internet e Reti - Alberto Gatto, Martino de Marco Fondamenti di Internet e Reti - Polimi
Organizzazione del corso

• Mix didattico:
  – Lezione: 56 ore (circa)
  – Esercitazione: 26 ore (circa)
  – Laboratorio: 18 ore

• Le esercitazioni sono inserite alla fine di ciascun
  argomento (non c’è una programmazione settimanale
  fissa)

• Il laboratorio si svolge in aula connessa senza PC, è
  necessario portare il proprio laptop (BYOD)

                           FIR: 1 - Introduzione e architetture   7
Fondamenti di Internet e Reti - Alberto Gatto, Martino de Marco Fondamenti di Internet e Reti - Polimi
Visita @ Policom (DEIB – Milano)

• Proposta di una visita ai laboratori Policom @ DEIB
  (Milano) il 29/04/19 con dimostrazioni di veri collegamenti
  internet con trasmissione dati in fibra ottica

                           FIR: 1 - Introduzione e architetture   8
Fondamenti di Internet e Reti - Alberto Gatto, Martino de Marco Fondamenti di Internet e Reti - Polimi
Programma del corso

1. INTRODUZIONE E ARCHITETTURE
   – Principi generali, architettura e componenti, meccanismi di base
2. SISTEMI DI COMUNICAZIONE & LIVELLO FISICO
   – Come misuro le prestazioni di una rete: il concetto di throughput, i
     ritardi nelle reti di telecomunicazioni (tempo di trasmissione, ritardo
     di trasferimento, tempo di processing, tempo di accodamento).
   – Come è gestita la comunicazione in rete: il concetto di protocollo di
     comunicazione, modelli architetturali a livelli, commutazione di
     pacchetto e commutazione di circuito
   – Come viaggia in rete l’informazione: cenni sulla caratterizzazione
     dei segnali (il concetto di banda del segnale, i segnali numerici)
   – Dove viaggia l’informazione in rete: cenni sulla caratterizzazione dei
     mezzi trasmissivi (la banda di canale, ritardo di trasferimento, il
     concetto di capacità di canale)

                                  FIR: 1 - Introduzione e architetture     9
Fondamenti di Internet e Reti - Alberto Gatto, Martino de Marco Fondamenti di Internet e Reti - Polimi
Programma del corso

3. PROTOCOLLI APPLICATIVI
   – architetture delle applicazioni di rete: approccio client-server ed
     approccio peer-to-peer;
   – esempi di protocolli applicativi client-server: HTTP, FTP, SMTP;
   – architetture peer-to-peer: la rete Gnutella, BitTorrent

4. IL LIVELLO DI TRASPORTO
   – caratterizzazione del servizio di comunicazione tra processi
      applicativi; trasporto non affidabile: il protocollo UDP (formato del
      segmenti);
   – trasporto affidabile: il protocollo TCP (formato dei segmenti,
      apertura della connessione, controllo di flusso, controllo di
      congestione e controllo d’errore).

                                   FIR: 1 - Introduzione e architetture       10
Programma del corso

5. IL LIVELLO DI NETWORKING:
   – l’Internet Protocol (IP): servizi offerti da IP, formato dei pacchetti
       IPv4
   – Gestione di indirizzi IP: formati e notazioni degli indirizzi IPv4, le
       classi e gli indirizzi speciali, pianificazione di uno spazio di
       indirizzamento IPv4, tecniche di subnetting e supernetting,
       assegnamento automatico di indirizzi IP: il Dynamic Host Control
       Protocol (DHCP)
   – Corrispondenza tra indirizzi IP ed indirizzi simbolici (Il Domain
       Name System);
   – l’Internet Control Message Protocol (ICMP)

                                   FIR: 1 - Introduzione e architetture       11
Programma del corso

6. INOLTRO ED INSTRADAMENTO IN INTERNET:
   – inoltro diretto ed indiretto
   – uso delle tabelle di routing;
   – instradamento su cammini minimi, la costruzione dell’albero dei
     cammini minimi,
   – Instradamento link state ed instradamento distance vector
   – Esempi di protocolli: RIP, OSPF, BGP,

                                FIR: 1 - Introduzione e architetture   12
Programma del corso
7.  RETI LOCALI E LIVELLO DI LINEA:
   – problema dell’accesso multiplo,
   – indirizzamento nelle reti locali,
   – l’Address Resolution Protocol (ARP),
   – interconnessione di reti locali con bridge/switch,
   – lo standard Ethernet/802.3: principi e funzionamento,
   – lo standard IEEE 802.11 (WiFi): principi e funzionamento.
8. INTRANET
   – Indirizzamento privato e traduzioni di indirizzi IP (NAT, NAPT)
   – Interconnessione di reti private (IP Tunneling)
   – IPv6 (cenni)
9. RETI MOBILI
   – Caratteristiche dei collegamenti wireless
   – Tecniche di copertura e gestione della mobilità
   – Architetture di rete
   – L'evoluzione delle reti mobili: 3G, 4G e 5G

                                   FIR: 1 - Introduzione e architetture   13
Programma del corso

LABORATORIO:

    −   Python e scripting per analisi di rete
    −   Programmazione socket in Python
    −   Configurazione e simulazione di rete (Packet Tracer)
    −   Attività sperimentali su reti wireless

                               FIR: 1 - Introduzione e architetture   14
1c – Ritardi e Throughput
   Tempo di trasmissione, Propagazione,
   Altri ritardi, Throughput

Fondamenti di Internet e Reti
Velocità di trasmissione
• E’ la velocità (rate) R con la quale l’informazione
  digitale viene trasmessa su una linea = numero di bit
  trasmessi nell’unità di tempo
• E’ misurata in bit/s (bps)

    0   0   1   0   1   0   1   0             …               1      0
                                                                           t

• Unità di misura:
                                             1 B = 8 bit
  1 kbps (kb/s) = 103 bps                    1 kB = 103 B
  1 Mbps (kb/s) = 106 bps                    1 MB = 106 B
  1 Gbps (kb/s) = 109 bps                    1 GB = 109 B

                                    FIR: 1 - Introduzione e architetture       16
Velocità di trasmissione: esempi
• Segnale nel tempo di
  Ethernet con codifica
  Manchester:

• Segnale modulato
  in frequenza del
  GSM:
 NOTA: Il motivo per il quale la
 durata del singolo bit non può
 essere piccolissima (e quindi la
 velocità grandissima) deriva a limiti
 dei canali trasmissivi che saranno
 trattati nel prossimo modulo
 (livello fisico).

                                         FIR: 1 - Introduzione e architetture   17
Tempo di trasmissione

• Il tempo T per trasmettere L bits dipende dalla velocità
  di trasmissione R

                                L [b]

        0   0   1   0   1   0    1    0               …               1     0
                                                                                  t

                                T [s]                                           R [bps]
   Si ha:
           L
        T=
           R

                                     FIR: 1 - Introduzione e architetture             18
Ritardo di propagazione
  • Il tempo t affinché un impulso trasmesso dal
    trasmettitore TX raggiunga il ricevitore RX dipende
    dalla distanza D (in m) e dalla velocità di propagazione
    v (in m/s, prossima alla velocità della luce)

           0   0       1   0   1   0   1   0
                                                                                          TX
                                                                                      t
distanza
percorsa

   D
                                                                                          RX
                                                                                      t
           ritardo di
           propagazione                                                         D
                                                                             t=
                   t                                                            v
                                               FIR: 1 - Introduzione e architetture            19
Tempi di attraversamento del canale

                    T
    0   0   1   0       1   0   1   0
                                                                               t   TX

D
                                                                                   RX
                                                                               t
            '                       T

Ritardo fra la trasmissione del primo bit e
la ricezione dell’ultimo                    !"#" = ! + τ
(singolo pacchetto, singolo collegamento)
                                        FIR: 1 - Introduzione e architetture            20
Tempi di attraversamento del canale
                 TX                                                 RX

                                                                         t   TX

                                                                             RX
                                                                         t
   t0                   t1       t2                t3
                             Tempo di trasmissione:
 t0=inizio trasmissione
                             T=t2 - t0=t3 – t1=L/R    L=lunghezza del pacchetto [bit]
 t1=arrivo primo bit                                  R=velocità di trasm. [bit/s]
 t2=fine trasmissione        Ritardo di propagazione:
 t3=arrivo ultimo bit        t = t1-t0=t3-t2=D/n      D=lunghezza del coll. [m]
                                                      n=velocità di prop. [m/s]

                                  FIR: 1 - Introduzione e architetture            21
Tempi di attraversamento del canale
                 TX                                                 RX

                                                                         t   TX

                                                                             RX
                                                                         t
   t0                   t2         t1               t3
                             Tempo di trasmissione:
 t0=inizio trasmissione
                             T=t2 - t0=t3 – t1=L/R L=lunghezza del pacchetto [bit]
 t1=arrivo primo bit                               R=velocità di trasm. [bit/s]
 t2=fine trasmissione        Ritardo di propagazione:
 t3=arrivo ultimo bit        t = t1-t0=t3-t2=D/n   D=lunghezza del coll. [m]
                                                   n=velocità di prop. [m/s]

                                  FIR: 1 - Introduzione e architetture            22
Primo “triangolo magico”
                                                                                        Propagazione dei segnali elettromagnetici
                                                                                    8
                                                                               10
                                                                                                                   distanza Terra-Sole

                                                                                                                                                      ~8 min
                                                                                    6
                                                                               10                       distanza Terra-Luna

                        d

                                                      Distanza percorsa (km)
                                                                                         collegamento satellite geostaz.

                 cx =                                                          10
                                                                                    4
                                                                                                            cavo transatlantico
                                                                                                                                    circonf.
                                                                                                                                    Equatore
                        t                                                                lunghezza Italia                           Terra

                            d = t × cx                                         10
                                                                                    2               Milano - Torino
                      d
                 t=                                                                                 centro città

                      cx                                                       10
                                                                                    0
                                                                                               LAN
                                                                                                    1 km                                           min

                                                                                          stanza                              ms               s
                                                                                -2        accanto
                                                                               10
                                                                                         1m                                                  vuoto

                                                                                                 ns                µs                        guida
                                                                                -4
                                                                               10
                                                                                        -10      -8         -6          -4    -2         0               2
                                                                                    10         10        10         10       10     10               10
•   cx = Velocità di propagazione dei segnali                Ritardo di propagazione (s)
    elettromagnetici
    – Propagazione libera (onde radio, vuoto, aria): co @ 300000 km/s
    – Propagazione guidata (cavi in rame, fibra ottica, guide d’onda): cg @ 200000 km/s
•   d = distanza percorsa [km]
•   t = ritardo di propagazione [s]

                                         FIR: 1 - Introduzione e architetture
Secondo “triangolo magico”
                                                                                                                                                        Internet
                                                                                                                                                          (2007)                 1017
                                                                                                          Trasmissione dati
                                                                                                      Tempo di trasmissione (min)

            L
                                                                                   -11          -9          -7           -5         -3         -1            1               3
                                                                                  10        10            10          10           10         10         10              10

       C=
                                                                                                                                                                                  14
                                                                                                                                                                                 10
                                                                          14                                             tutti i libri del mondo (txt)
                                                                         10
            T                                                                                64 kbit/s
                                                                                             2 Mbit/s            HD DVD                                                           12

                L = T ×C
                                                                                                                                                                                 10

                                          Informazione trasmessa (bit)
                                                                          12                 10 Mbit/s           br / layer
                                                                         10
          L                                                                                  1 Gbit/s

       T=
                                                                                                                                                                                  10
                                                                                                                DVD (4h vid.)                                                    10

                                                                                                                                                                                       Informazione trasmessa (byte)
                                                                                             10 Gbit/s
                                                                          10                                   CD (74 min. audio)
                                                                         10
          C                                                                                                                                                                       8
                                                                                                                                                                                 10
                                                                              8          5 min mp3
                                                                         10
                                                                                  foto JPEG

                                                                                                                                                                 libro pdf
                                                                                                                                                                                  6
                                                                                                                                                                                 10
                                                                              6        trame
                                                                         10            SDH/
                                                                                       PDH                                                                                        4
                                                                             pagina web                                                                                          10
                                                                         10 (txt)                                                         Lmax
                                                                           4
                                                                             e-mail
                                                                                                                                                    Ethernet g                    2
                                                                                                                                          Lmin                                   10
•    C = Velocità di trasmissione della                                  10
                                                                              2
                                                                                                                                                        min       h
                                            1 byte
     sorgente [bit/s]                       1 bit  0
                                                     ps                                    ns                  µs              ms                   s                             0
                                                                                                                                                                                 10
                                                                         10
•    L = quantità d’informazione                                           10
                                                                             -10
                                                                                 10
                                                                                   -8
                                                                                                     10
                                                                                                       -6
                                                                                                                 10
                                                                                                                    -4         -2
                                                                                                                              10
                                                                                                                                          0
                                                                                                                                         10         10
                                                                                                                                                         2
                                                                                                                                                                 10
                                                                                                                                                                       4

     trasmessa [bit]                                                                                 Tempo di trasmissione (s)

•    T = tempo di trasmissione [s]

                                      FIR: 1 - Introduzione e architetture
Store and forward
 A                                 B                                         C

                                                                     t   A

                                                                         B
                                                                     t

          %            )"#            %                   )#'        t   C
 !"#   =       ("#   =       !#'   =             (#'    =
         &"#            *            &#'                   *

                              FIR: 1 - Introduzione e architetture               25
Store and forward
    A                     B                                  C

A
        TAB

B
              tAB   TBC

C
                                 tBC

                      FIR: 1 - Introduzione e architetture       26
Commutazione a Pacchetto Cut-Through
• Store-and-forward: il pacchetto deve essere
  completamente ricevuto prima di essere ritrasmesso
                                                                         )

                                                                  !"#" = % (!& + ,& )
                                                                        &'(

• Cut-Through: il pacchetto viene ritrasmesso alla completa
  ricezione dell’header
                                                             )
     H
                                                !"#" = % (.& + ,& ) + (! − .)
                                                            &'(

                          FIR: 1 - Introduzione e architetture                     27
Architettura semplificata di un nodo
Packet switch su architettura hardware general purpose (soft-switch)

                                    I/O Bus

                CPU       System
                                                    NIC                          Network interface 1
                            Bus
           DMA
           Ctrl
                                                    NIC                          Network interface 2
            3         1      DMA
                  2          Xfer

             Main                                   NIC                          Network interface 3
            Memory

       1. Packet input
       2. Header processing
            Routing table lookup               NIC = Network Interface Controller
            DMA transaction                    DMA = Direct Memory Access
       3. Packet output

                                          FIR: 1 - Introduzione e architetture                         28
Architettura semplificata di un nodo
Packet switch su architettura hardware dedicata (hardware-switch)
               Match   Action

                                                                                                      Output
                                                                                                       port
   Input
    port

                …

                        …
   …

                                       …

                                                                                                  …
                …

               Match   Action

                                              Switch matrix
                                              Collega fisicamente ingresso e uscita sulla
                                              base del comando contenuto nell’uscita
 Input                                        della tabella                                           Output
  port                                                                                                 port
                …

                        …

                                Match table
                                Cerca ad esempio l’indirizzo di destinazione tra le righe della
                                tabella e legge la porta d’uscita corrispondente.
                                Restituisce il risultato in un tempo fisso (ciclo di clock)
                                indipendemente dal numero di righe.

                                              FIR: 1 - Introduzione e architetture                         29
Modello di un nodo

                       Elaborazione
Arrivo pacchetti       pacchetti e scelta
dalle interfacce       dell’uscita

               Attesa per analisi
               pacchetto

                                                     Attesa per               Trasmissione sulle
                                                     trasmissione             interfacce d’uscita
                                                     pacchetto

                                       FIR: 1 - Introduzione e architetture                 30
Tempo di elaborazione
    A                        B                                                 C

                                        Look up tabella di instradamento
                    !"                  Trasferimento porta d’uscita

A
        TAB
                                                                Negli apparati ben
                                                                dimensionati: !" ≈ 0

B
              tAB             TBC

C
                                              tBC

                         FIR: 1 - Introduzione e architetture                      31
Ritardo di accodamento
• Se la linea di uscita è occupata occorre aspettare in coda
    Esempio 1
     A                   1                B                               2          C

                                                        I pacchetti possono
         a           b                                  attendere nella coda
                                                        d’uscita di un’interfaccia
A
         !"#
                               attesa

B
                t1                                !$%
                             !$#

C
                                                                          t2
                                   FIR: 1 - Introduzione e architetture                  32
Ritardo di accodamento                                     Interfacce diverse hanno
                                                           code d’uscita separate
Esempio 2
                                                           ed indipendenti
    A                                        B                                          C
                           1                                                    2

                                                                            3       D
          a            b
        Dest. C   Dest. D
A
          !"#

                               Dest. C
B
                  t1           !$#

C
                                                    t2

                                         FIR: 1 - Introduzione e architetture               33
Ritardo di accodamento
Esempio 2 (continua)                                 Interfacce diverse hanno
    A                                B               code d’uscita separate
                                                                                C
                                                     ed indipendenti

                                                                        D
          a          b
        Dest. C   Dest. D
A
          !"#      !"$

                                 Dest. D
B
                            t1     !%$

D
                                                            t3
                                 FIR: 1 - Introduzione e architetture               34
Ritardo di accodamento
Multiplazione statistica
Più in generale il ritardo di accodamento dipende dalla
multiplazione statistica dovuto all’arrivo asicrono dei pacchetti
alle code d’uscita (trasmissione)

                                   elaborazione

                                   elaborazione

                                   elaborazione

                             FIR: 1 - Introduzione e architetture   35
Ritardo di accodamento
Multiplazione statistica
Più in generale il ritardo di accodamento dipende dalla
multiplazione statistica dovuto all’arrivo asicrono dei pacchetti
alle code d’uscita (trasmissione)

                             FIR: 1 - Introduzione e architetture   36
Ritardo di Accodamento
 Del ritardo di accodamento medio Ta si possono fare dei
 modelli statistici basati sulla teoria delle code:

                                                                     Ta
   R = velocità del link [b/s]
   L = lunghezza pacchetto [bits]
   l = frequenza di arrivo dei pacchetti [pack/s]

   Intensità di traffico = !"/$

                                                                           1   !"/$
%&/' > 1: i pacchetti arrivano con un rate maggiore della capacità
di trasmissione la coda cresce senza limiti, () → ∞
%&/', < 1: il ritardo dipende dalla statistica di arrive dei pacchetti
                                    FIR: 1 - Introduzione e architetture       37
Ritardo di Accodamento
Situazione realistica: il processo di arrivo in coda dei pacchetti è
completamente casuale

                                                                   Ta
 R = velocità del link [b/s]
 L = lunghezza pacchetto [bits]
 l = frequenza di arrivo dei pacchetti [pack/s]

 Intensità di traffico = !"/$

                                                                         1   !"/$
 %&/'~): i pacchetti sono pochi e (in media) distanziati
 nel tempo bassa probabilità di trovare altri pacchetti
 in coda ritardo in coda piccolo, *+ → 0
                                  FIR: 1 - Introduzione e architetture       38
Ritardo di Accodamento
Situazione realistica: il processo di arrivo in coda dei pacchetti è
completamente casuale

                                                                   Ta
 R = velocità del link [b/s]
 L = lunghezza pacchetto [bits]
 l = frequenza di arrivo dei pacchetti [pack/s]

 Intensità di traffico = !"/$

                                                                         1   !"/$
 %&/' → ): in alcuni istanti il rate di arrivo supera la
 capacità di ritrasmissione, in altri è inferiore la coda
 tende ad aumentare ritardo *+ → ∞
                                  FIR: 1 - Introduzione e architetture       39
Ritardo di Accodamento
Del ritardo di accodamento medio Ta si possono fare dei
modelli statistici basati sulla teoria delle code:

R = velocità del link [b/s]                                               Ta
L = lunghezza pacchetto [bits]
l = frequenza di arrivo dei pacchetti [pack/s]

Definiamo:
µ = frequenza di trasmissione dei pacchetti [pack/s]
Si ha:
     #
!=
     $                                                                                  1    %/!
Si può mostrare che sotto alcuni condizioni sulla
statistica degli arrivi e la distribuzione delle
lunghezze dei pacchetti:                                                        1   1
                                                                          '( =    −
                                                                               !−% !

                                   FIR: 1 - Introduzione e architetture                     40
Perdite di pacchetti in Internet
• Le code hanno dimensioni limitate
• In congestione (coda piena) i pacchetti che arrivano
  vengono scartati
• I pacchetti persi possono essere ritrasmessi o meno a
  seconda del livello/protocollo che gestisce l’evento di
  perdita (vedremo esempi a livello di linea e di trasporto).

                             FIR: 1 - Introduzione e architetture   41
Ritardi: riepilogo (pacchetto singolo)

• Ritardo totale di un singolo nodo:
                    !"#$# = !& + () + ! + *
• Ritardo end-to-end con + − - nodi:
            !."$/0#/."$ = + () + ! + * + 1 !&

Ritardo
   Ta       Variabile da nodo a nodo, dipende dalla congestione, 23 ÷ 53
  Pb                                        ≈ 23
   T                                     23 ÷ 53
   t        ≈ 5 83/5 (1 km = 5 µm, 100 km = 500 µs, 10000 km = 50 ms)

                               FIR: 1 - Introduzione e architetture        42
Latenza
• Intervallo di tempo che intercorre tra un generico input (stimolo) e
  il corrispondente output (reazione)

• È una misure dal tempo di risposta del sistema

• Associata spesso all’intervallo di tempo di round-trip a livello
  applicativo (o superiore, quindi a livello «umano»)

• Può essere dovuta a
  – Elaborazione dati
  – Distanza di propagazione
  – Congestione della rete
  – …

                                FIR: 1 - Introduzione e architetture   43
Tactile Internet
• “A network, or a network of networks, for remotely
  accessing, perceiving, manipulating, or controlling real
  and virtual objects or processes in perceived real time”
• Per mantenere un’interazione real-time “naturale” è
  necessario che il feedback alle nostre azioni/richieste sia
  adattato ai tempi di reazione dei sensi umani

            Tempi di reazione umani in risposta a diversi stimoli

                                  FIR: 1 - Introduzione e architetture   44
Tactile Internet

• Bassissima end-to-end latency (< 1 ms)
• Affidabilità
• Sicurezza

                          FIR: 1 - Introduzione e architetture   45
Tactile Internet: applicazioni

                                                                                     Robotics
                                                                                        &
   Gaming and                                                                       Automation
   Virtual Reality

                                                                  Road traffic & Augmented Reality

                             Telepresence

                     Telesurgery

                                    FIR: 1 - Introduzione e architetture                     46
Throughput

• Throughput istantaneo: velocità di trasferimento
  dell’informazione in un determinato istante di tempo

• Throughput medio: velocità di trasferimento media
                     !"#$%&"'%$ "% (") !$* #$&&+,,"'
  definita come
                        )$#-' %$.$&&+/"' +* )/+&0$/"#$%)'

                                                                   123(5& , 5. )

                                                                   123(58 , 59 , … , 5; )

                            FIR: 1 - Introduzione e architetture                   47
Throughput: esempi
• La rete dorsale è un
  collegamento a velocità
  molto più elevata dei
  collegamenti di accesso
• In caso di rete non
  congestionata (pochi
  collegamenti attivi), il limite
  al throughput è
  determinato dai tratti di
  accesso alla rete
• In caso di rete
  congestionata (molti
  collegamenti attivi), il collo
  di bottiglia può essere
  invece la dorsale

                                    FIR: 1 - Introduzione e architetture   48
1d – Modelli di servizio e
   livelli dei protocolli
   Servizio di comunicazione, protocolli,
   primitive di servizio, architetture a livelli,
   funzioni di rete

Fondamenti di Internet e Reti
Il servizio di comunicazione
• Date due o più entità remote
• Possiamo descrivere il servizio di comunicazione
  per scambio di messaggi come un
  “fornitore del servizio di trasporto dell’informazione”

         Nodo A                                                        Nodo B

                              colloquio
          Ente                                                          Ente
           A                                                             B

                        servizio di comunicazione

                                FIR: 1 - Introduzione e architetture            50
Il servizio di comunicazione
• Gestisce lo scambio di informazione fra due
  “entità”
• E’ in generale un servizio di trasferimento di unità
  informative:
  – Messaggi applicativi (richieste e risposte di browser e server
    web, messaggi di email, file, ecc.)
  – Flussi multimediali (flussi audio, video, ecc.)
  – Gruppi di bit (pacchetti)
  – Bit

           Ente                                                      Ente
            A                                                         B

                              FIR: 1 - Introduzione e architetture          51
Primitive di servizio

• il servizio di comunicazione può essere descritto
  mediante delle chiamate di servizio dette primitive
  di servizio
• le primitive di servizio servono a descrivere il
  servizio, a richiederlo e a ricevere informazioni sul
  servizio dal fornitore
• le primitive di servizio sono caratterizzate da
  parametri tra cui:
                                                           NOTA: le primitive di servizio
  –   informazione da trasferire                           dell’interfaccia socket in Python
  –   indicazione del destinatario                         saranno trattate in laboratorio,
  –   caratteristiche del servizio richiesto               dove vedrete meccanismi per
                                                           creare le interfacce e passare i
  –   ecc.                                                 parametri tramite funzione.

                                FIR: 1 - Introduzione e architetture                      52
Primitive di servizio

      Nodo A                                                   Nodo B

                     colloquio
       Ente                                                     Ente
        A                                                        B

                 primitive di servizio

                 canale bidirezionale

                        FIR: 1 - Introduzione e architetture            53
Caratteristiche del servizio di comunicazione
• modalità a
  connessione                Apertura della connessione

  – instaurazione della
                              Trasferimento informazione
    connessione
  – trasferimento
    dell’informazione
                              Chiusura della connessione
  – rilascio delle
    connessione
• modalità senza
  connessione                 Trasferimento informazione

  – una sola fase

                          FIR: 1 - Introduzione e architetture   54
Livelli
• Le entità che colloquiano in un servizio di
  telecomunicazione possono anche offrire un
  servizio di comunicazione a entità terze, dette di
  livello superiore

           Nodo A                                                    Nodo B

                              colloquio
             Ente                                                      Ente
              A2                                                        B2

                                  colloquio
             Ente                                                      Ente
              A1     header          Dati         PDU                   B1

                          canale bidirezionale

                              FIR: 1 - Introduzione e architetture            55
Funzioni dei livelli

• Il servizio di comunicazione offerto al livello
  superiore è più ricco e complesso grazie alle
  funzioni implementate dal livello inferiore

           Nodo A                                                      Nodo B

                                colloquio
             Ente                                                        Ente
              A2                                                          B2

                                    colloquio
             Ente                                                        Ente
              A1       header          Dati         PDU                   B1

                            canale bidirezionale

                                FIR: 1 - Introduzione e architetture            56
Protocolli di comunicazione
• Le entità di un livello collaborano per fornire il servizio
  di comunicazione al livello superiore e si scambiano
  messaggi mediante il servizio offerto dal livello
  inferiore
• Protocollo:
  – Insieme delle regole che gestiscono il colloquio tra entità
    dello stesso livello
     o formato dei messaggi
     o informazioni di servizio
     o algoritmi di trasferimento
     o ecc.

                            FIR: 1 - Introduzione e architetture   57
Packet Data Units (PDU)

• Un protocollo utilizza per il colloquio tra entità dello
  stesso livello delle unità di trasferimento dati dette
  PDU o anche trame del protocollo
• Le PDU possono contenere:

   informazione di servizio                 informazione vera e
   necessaria al                            propria ricevuta dai
   coordinamento tra le                     livelli superiori
   entità

               header                  dati

                              FIR: 1 - Introduzione e architetture   58
Architettura a livelli

• I servizi di comunicazione complessi possono essere
  articolati a livelli
  – da un livello che garantisce solo il trasporto dei bit
  – a un livello dove sono definite complessi servizi
     caratterizzati da molti parametri e funzionalità

         livello 5                                                livello 5

         livello 4                                                livello 4

         livello 3                                                livello 3

         livello 2                                                livello 2

         livello 1                                                livello 1

                           FIR: 1 - Introduzione e architetture               59
Architettura completa

               5                                      5
   livello 5                                                              livello 5

               4   5                           4      5                   livello 4
   livello 4

               3   4   5                 3      4     5                   livello 3
   livello 3

               2   3   4   5       2     3      4     5                   livello 2
   livello 2

               1   2   3   4   5                                          livello 1
   livello 1

                                   FIR: 1 - Introduzione e architetture               60
Perchè un’architettura a livelli?
Sistemi complessi:
• Facile identificazione dei servizi (implementazione,
  discussione)
• Facile gestione ed update
  – Cambiamenti in un livello sono trasparenti agli altri
• Q: quando la suddivisione in livelli può essere
  pericolosa?

                            FIR: 1 - Introduzione e architetture   61
Modello a livelli di Internet (TCP/IP)

                 Messages                        Messaggi
   Application                                                     Applicazione

                 Segments                        Segmenti
    Transport                                                       Trasporto
                 Packets                         Pacchetti
    Network                                                           Rete
                 Frames                          Trame
    Data Link                                                         Linea
                 Bits                            Bit
    Physical                                                          Fisico

                            FIR: 1 - Introduzione e architetture                  62
Livelli di Internet (descrizione veloce)
•   Applicazione: sede delle
    applicazioni di rete e dei relativi
    protocolli (HTTP, SMTP, FTP,
    DNS)
•   Trasporto: trasferisce i messaggi
    del livello di applicazione tra punti
    periferici della rete gestiti dalle
    applicazioni (TCP: orientato alla
    connessione, consegna garantita,
    controllo di flusso)
•   Rete: trasferisce i pacchetti di
    rete da un host a un altro (vari
    protocolli di instradamento)
•   Linea: instrada i datagrammi
    attraverso una serie di router tra
    sorgente e destinazione
    (Ethernet, Wi-Fi, PPP)
•   Fisico: trasferisce i singoli bit da
    un nodo all’altro in funzione del
    mezzo trasmissivo utilizzato

                                            FIR: 1 - Introduzione e architetture   63
Funzioni

• Molteplici sono le funzioni che possono essere svolte
  da uno livello
• Vediamo alcuni esempi importanti concentrandoci sui
  principi di base, poi i dettagli saranno ripresi più avanti
  – Esempi:
     o Funzione di Multiplazione e De-multiplazione
     o Funzione di controllo d’errore
     o Funzione di instradamento

                           FIR: 1 - Introduzione e architetture   64
Esempio: Funzione Multiplazione
• Più livelli superiori possono condividere lo stesso
  servizio di comunicazione

                      Per poter separare le
             Liv. N   informazioni devo poter                        Liv. N
                      mettere una qualche
                      etichetta che le distingua
                      tra di loro

                              FIR: 1 - Introduzione e architetture            65
Esempio: Funzione Multiplazione
• Più applicazioni condividono la stessa interfaccia di rete
  (identificata da un suo indirizzo di rete)
• Le applicazioni sono distinte in base a un numero di porta

                          L’etichetta che
                          mi consente di                                  Porta:
                                                             Porta:
                          fare                                            25
                                                             80
                          multiplazione è il
                          numero di porta

   Indirizzo                                                          Indirizzo
   di rete:                                                           di rete:
   131.175.21.2                                                       92.35.47.58

                             FIR: 1 - Introduzione e architetture              66
Esempio: Funzione Multiplazione
• Più applicazioni condividono la stessa interfaccia di rete
  (identificata da un suo indirizzo di rete)
• Le applicazioni sono distinte in base a un numero di porta

                                     L’etichetta che
                                     mi consente di                                   Porta:
                                                                         Porta:
                                     fare                                             25
                                                                         80
                                     multiplazione è il
                                     numero di porta

   Indirizzo                                                                      Indirizzo
   di rete:                                                                       di rete:
   131.175.21.2                                                                   92.35.47.58

   La funzione di multiplazione può essere implementata in tutti i livelli

                                         FIR: 1 - Introduzione e architetture              67
Esempio: Funzione di controllo d’errore
• E’ possibile garantire affidabilità delle comunicazioni
  anche in presenza di errori sul canale
                                                                                                                                 Verifica
                                                                                                                                presenza
                        Se NON                                  Ritrasmissione                                                    errori
                       arriva ACK

                                    timeout
                                                    Controllo
                                      pacchetto     Controllo
                                      pacchetto      errore
                                                     errore

                                                                                                              ACK

                                                                                                                                  Se
         Trasmissione                                                                                                           nessun
                                                                                                                                errore
        Timer attesa
           ACK                                                                                             Ricezione

   no
                ACK?
                                                  La funzione di controllo                                  Errore?
                                                                                                                           si

           si
                                                  d’errore è di solito                                           no
                                                  implementata a livello di                             Trasmissione ACK
                          end                     Linea (2) e Trasporto (4)                                                     end

                                                                 FIR: 1 - Introduzione e architetture                                       68
Esempio: Funzione di instradamento (routing)

Il pacchetto può
                                                                   Entità livello
arrivare dal livello                                                superiore
superiore passato col
parametro INDIRIZZO                             pacchetto

L’indirizzo viene scritto
nell’header perché
possa essere instradato                                                Entità
                                                                    instradante
da altri nodi

    Il pacchetto può
    arrivare da una
    porta d’ingresso
                                 pacchetto

                            FIR: 1 - Introduzione e architetture                    69
Esempio: Funzione di instradamento (routing)

L’entità instradante                                                           Indirizzo      Uscita

decide dove inoltrare
(forwarding) il pacchetto
sulla base di una tabella

                                                                                   …

                                                                                               …
di instradamento che
                                                      Table lookup
viene consultato usando
l’indirizzo come                                                                           Port
parametro di ricerca                                                    Entità             selection
                                                                     instradante
OSSERVAZIONE: Se il
pacchetto arriva da una porta
d’ingresso, non sale mai più in
alto nei livelli salvo che non sia
giunto alla destinazione finale
                                   pacchetto

                              FIR: 1 - Introduzione e architetture                                     70
Esempio: Funzione di instradamento (routing)
• I nodi di rete non implementano i livelli superiori a quello di
  instradamento
• La funzione di instradamento può essere implementate in
  vari livelli in base alle circostanze (vedremo in dettaglio)
• Esempio: Router IP
     Terminale           Router            Esempio                    Application
      Application                          Router IP:
                         Network                                       Transport
       Transport
                                           Funzione di rete a
                         Data Link                                     Network
                                           livello 3!!!
       Network           Physical                                     Data Link
      Data Link                                                        Physical
       Physical                           Network
                                         Data Link
                                           Physical

                               FIR: 1 - Introduzione e architetture                 71
Esempio: Funzione di instradamento (routing)

• Esempio: LAN Switch

   Terminale                         Esempio                    Application
    Application     Switch           Switch:                     Transport
     Transport     Data Link         Funzione di rete a          Network
     Network       Physical          livello 2!!!               Data Link
    Data Link
                                                                 Physical
     Physical
                                   Data Link
                                    Physical

                         FIR: 1 - Introduzione e architetture                 72
Esempio: Funzione di instradamento (routing)

• Esempio: proxy

                     Proxy               Esempio
                   Application           Proxy:
    Terminale       Transport            Funzione di rete a
     Application                         livello 5!!!             Application
                    Network
      Transport                                                    Transport
                   Data Link
      Network                                                      Network
                    Physical
     Data Link                                                    Data Link
      Physical                                                     Physical

                           FIR: 1 - Introduzione e architetture                 73
Esempio: Funzione di instradamento (routing)

• Scelta dell’uscita avviene sulla base delle
  informazioni memorizzate in una tabella

                                                        tabella di routing
                                                   indirizzo          uscita

          Ma chi scrive le tabelle di
          instradamento                                                  ?
                        FIR: 1 - Introduzione e architetture                   74
Esempio: Funzione di instradamento (routing)
“Human Defined Networking”
•   Le tabelle di instradamento possono essere scritte a mano (faremo
    molti esercizi sulle tabelle di instradamento)
•   Nei router IP le rotte configurate manualmente sono dette rotte statiche

                                  FIR: 1 - Introduzione e architetture   75
Esempio: Funzione di instradamento (routing)
Protocolli di instradamento distribuiti
•   L’approccio classico è però basato su uno scambio di informazioni
    tra i router che consente di compilare le tabelle di instradamento in
    modo automatico e distribuito
•   Esempio:
    – MAC learning (si veda livello di linea)
    – Instradamento per cammini minimi (si veda livello IP)

                                  FIR: 1 - Introduzione e architetture      76
Esempio: Funzione di instradamento (routing)
Software Defined Networking
•   L’approccio emergente denominato SDN consente di operare come
    nell’approccio manuale, ma con un’applicazione software
    centralizzata che compila e modifica le tabelle di instradamento

                                                  SDN
                                                  controller

                                 FIR: 1 - Introduzione e architetture   77
Puoi anche leggere