SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
PARTE 5


LIVELLO TRASPORTO
- Servizi livello trasporto e
  protocollo UDP




Parte 5




           Modulo 4:
          Introduzione




                                1
Livello 4 (transport)
• Il livello trasporto estende il servizio di consegna
  con impegno proprio del protocollo IP tra due
  host terminali ad un servizio di consegna a due
  processi applicativi in esecuzione sugli host

• Se IP è il protocollo di rete, TCP sarà il protocollo di
  trasporto?
                                                  NO!
• TCP è solo un componente del livello di trasporto
  della suite TCP/IP
• L’altro componente è costituita dal protocollo UDP
  (User Datagram Protocol)
Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto        5.38




                              Livello 4 (transport)
• Il livello transport estende il servizio di consegna
  con impegno proprio del protocollo IP tra due
  host terminali ad un servizio di consegna a due
  processi applicativi in esecuzione sugli host
• Servizi aggiuntivi rispetto a IP
     – multiplazione e demultiplazione messaggi tra processi
     – rilevamento dell’errore (mediante checksum)
• Esempi di protocolli transport
     – UDP (User Datagram Protocol)
     – TCP (Transmission Control Protocol): offre servizi aggiuntivi
         rispetto a UDP
Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto        5.39




                                                                              2
Livelli dello stack TCP/IP: chi gestisce?
 Applicazioni
                                   Processo                            Processo

 Sistema
 operativo                                  TCP                         UDP



                                                                  IP

 Hardware e software
 di basso livello (SO)                                   Host-to-
                                                         network
Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto                   5.40




               Servizi del livello di trasporto
  Servizi comuni a UDP e TCP:
  Estensione del servizio di consegna del protocollo IP tra due
  nodi terminali ad un servizio di consegna a due processi
  applicativi in esecuzione sui nodi terminali
        - multiplazione e demultiplazione
        - rilevamento dell’errore (non correzione!)


  Servizi aggiuntivi di TCP:
  – Trasferimento affidabile dei dati
         controllo di flusso, numeri di sequenza, acknowledgement e timer
  – Controllo di congestione
         regola il tasso di invio dei segmenti da parte del mittente
Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto                   5.41




                                                                                         3
Parte 5




                 Modulo 5:
      Multiplazione e demultiplazione




      1. Multiplazione e demultiplazione
  Il protocollo IP non consegna i dati tra processi applicativi
  in esecuzione sui nodi terminali (un indirizzo IP per
  identificare ogni nodo terminale)  compito del protocollo di
  trasporto

  Ogni segmento dello strato di trasporto possiede un
  campo contenente l’informazione usata per determinare a
  quale processo deve essere consegnato il segmento 
  demultiplazione
        La demultiplazione avviene dal lato del nodo destinatario

  Creazione dei segmenti provenienti dai messaggi di
  diversi processi applicativi  multiplazione
        La multiplazione avviene dal lato del nodo mittente
Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto     5.43




                                                                           4
Esempio


                                                            destinatario
                                                      P3                    P4
                application-layer                            M         M
                data
                                                              application
         segment                 P1                           transport                 P2
         header                                                                    M
                                  M                            network
                               application                                       application
     segment        Ht M       transport                                         transport
                                                                                  network
                 Hn segment     network




Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto                                5.44




 Multiplazione e demultiplazione (cont.)
  UDP e TCP attuano la multiplazione/demultiplazione
  includendo due campi speciali nell’header del segmento:
  – il numero di porta del mittente
  – il numero di porta del destinatario
  Permettono di identificare in modo univoco i due processi
  applicativi, residenti su due nodi terminali e comunicanti
  tra loro




Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto                                5.45




                                                                                                      5
Multiplazione e demultiplazione (cont.)
  Numero di porta: numero di 16 bit compreso tra 0 e 65535
  Numeri di porta noti (well-known ports, assigned numbers in
  [RFC 1700]): tra 0 e 1023 riservati per protocolli applicativi
  noti (ad es., HTTP e FTP)
  - HTTP: numero di porta 80
  - Telnet: numero di porta 23
  - SMTP: numero di porta 25
  - DNS: numero di porta 53
  Quando si realizza un nuovo servizio di rete è necessario assegnargli
  un nuovo numero di porta
 Occorre sia il numero di porta del mittente sia quello del
 destinatario per distinguere processi dello stesso tipo ed
 in esecuzione negli stessi istanti
Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto     5.46




                 Categorie di numeri di porta
  0-1023  Well Known Ports
      NON DEVONO essere usate senza una precedente
      autorizzazione da IANA [RFC4340]. Nella maggior parte
      dei sistemi, possono essere usate solo da processi con
      privilegi di root o simili

  1024-49151  Registered Ports
      NON DEVONO essere usate senza una precedente
      autorizzazione da IANA [RFC4340]. Nella maggior parte
      dei sistemi, possono essere usate da qualsiasi processo


  49152-65535  Dynamic or Private Ports

Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto     5.47




                                                                           6
Esempio: telnet
  Uso dei numeri di porta in un’applicazione client/server
  (es. Telnet, con numero di porta 23):




Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto   5.48




       Assegnazione dei numeri di porta
 Modello client/server
 1. Numero di porta del destinatario nel segmento inviato dal
    client al server corrisponde al numero di porta del servizio
    richiesto (ad es., 80 per HTTP)
 2. Numero di porta del mittente nel segmento inviato dal
    client al server corrisponde ad un numero di porta scelto
    tra quelli non in uso sul client
 3. Numero di porta del mittente nel segmento inviato dal
    server al client corrisponde al numero di porta del servizio
    richiesto (ad es., 80 per HTTP)
 4. Numero di porta del destinatario nel segmento inviato dal
    server al client corrisponde al numero di porta indicato dal
    client nel messaggio precedentemente inviato
Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto   5.49




                                                                         7
Indirizzo IP e numero di porta (1)
  Due processi client, residenti su host diversi per comunicare
  con lo stesso servizio applicativo sono sempre distinti in
  base al loro indirizzo IP (sorgente) e possono essere distinti
  in base al numero di porta sorgente (SP):
        IPs=190.85.14.32

                                                                        IPd=98.21.45.33
        host client con
        connessione telnet

        IPs=144.21.67.11
                                                                  host server che gestisce
                                                                  multiple connessioni telnet

      host client con
      connessione telnet
Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto                           5.50




        Indirizzo IP e numero di porta (2)
  Due processi client, residenti su host diversi e che, per
  eventualità, usano lo stesso numero di porta sorgente (SP)
  per comunicare con lo stesso servizio applicativo, sono
  distinti in base al loro indirizzo IP:
        IPs=190.85.14.32

                                                                        IPd=98.21.45.33
        host client con
        connessione telnet

        IPs=144.21.67.11
                                                                  host server che gestisce
                                                                  multiple connessioni telnet

      host client con
      connessione telnet
Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto                           5.51




                                                                                                 8
Indirizzo IP e numero di porta (3)
  Due processi client, residenti sullo stesso host per
  comunicare con lo stesso servizio applicativo, non essendo
  distinti in base al loro indirizzo IP, useranno diversi numeri di
  porta sorgente (SP) grazie al sistema operativo:

                                           IPs=144.21.67.11
                                            SP=15433, DP=21
                                           IPs=144.21.67.11
 host client con due                        SP=25446, DP=21
                                                                        host server che gestisce
 connessioni telnet                                                     multiple connessioni telnet




Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto                                     5.52




                                                Esempi
                  source port: x                                              Web client
    host A        dest. port: 23          server B                             host C

                  source port:23
                   dest. port: x
                                                                       Source IP: C     Source IP: C
                                                                        Dest IP: B       Dest IP: B
                                                                      source port: y   source port: x
          porta: simple telnet app                                    dest. port: 80   dest. port: 80



                                                      Source IP: A
                                                       Dest IP: B                          Web
               Web client                            source port: x                      server B
                  host A                             dest. port: 80
                                                                           porta: Web server

Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto                                     5.53




                                                                                                           9
Indirizzi

  • A livello network (IP)
         [indirizzo IP1, indirizzo IP2 ]


  • A livello trasporto (UDP, TCP)
         [(ind. IP1, porta1), (ind. IP2, porta2)]




Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto   5.54




   Parte 5




                                           Modulo 6:
                               Protocollo UDP




                                                                         10
Caratteristiche protocollo UDP
                                               (cosa ha)
         User Data Protocol (UDP), definito in
         [RFC 768], è un protocollo di trasporto
         leggero, ovvero dotato delle funzionalità
         minime del trasporto:

  1. Servizio di multiplazione/demultiplazione
        •      UDP aggiunge al messaggio proveniente dal
               livello applicativo il numero di porta del mittente e
               del destinatario
  2. Controllo di errore
        •      UDP include nell’header un campo di checksum

Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto    5.56




             Caratteristiche protocollo UDP
                                         (cosa non ha)
  3. Servizio di consegna non garantito, ma solo
     di tipo best effort
        •      i segmenti UDP possono essere persi, duplicati,
               consegnati senza ordine


  4. Servizio senza connessione (connectionless)
        •      non vi è handshaking tra mittente e destinatario
               del segmento UDP
        •      ogni segmento UDP è trattato in modo
               indipendente dagli altri


Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto    5.57




                                                                          11
Formato segmento UDP

  Segmento UDP (o user datagram) incapsulato in un
  datagramma IP
                                           Header UDP               Dati UDP

                       Header IP                              Dati IP


  Segmento UDP
                                                         32 bit

                 numero porta mittente                        numero porta destinatario

                            lunghezza                                   checksum

                                          dati dell’applicazione
                                               (messaggio)

Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto                           5.58




                     Campi del segmento UDP
  • numero di porta del mittente (16 bit)
  • numero di porta del destinatario (16 bit)
  • lunghezza (16 bit): dimensione in byte del segmento
        – lunghezza = header + dati
        – header: dimensione pari a 8 byte
  • checksum
        – non è detto che tutti i link forniscano un servizio di livello 2 per
          rilevare errori
        – checksum a livello IP limitato all’header del datagram IP
        – non c’è recupero dell’errore (in alcune implementazioni il
          segmento viene scartato, in altre viene consegnato all’applicazione
          segnalando l’errore)
  • dati: contiene il messaggio fornito dal livello applicativo

Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto                           5.59




                                                                                                 12
2. Checksum UDP

   Scopo: individuare “errori” (es., bit modificati)
     nel segmento trasmesso

     Mittente                                                 Destinatario
     • Tratta i contenuti del                                 • Calcola il checksum del
       segmento come sequenza                                   segmento ricevuto
       di interi a 16 bit                                     • Controlla se il valore del
     • Checksum= somma dei                                      checksum calcolato è uguale al
       contenuti dei segmenti                                   valore del campo checksum:
       con complemento a 1                                       – NO  errore
     • Il mittente invia il valore del                           – SI  non si individua errore.
       checksum nel campo                                          Ci può essere lo stesso un
       checksum del segmento                                       errore? ….
       UDP
Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto                                5.60




                                   Checksum UDP
  Calcolato usando un maggior numero di informazioni di
  quelle presenti nell’header UDP  definizione di uno
  pseudo-header UDP
                                                         32 bit

                                        indirizzo IP mittente

                                     indirizzo IP destinatario

               zero padding protocollo                             lunghezza UDP

 • zero padding: dimensione dello pseudo-header (multiplo di 32 bit)
 • protocollo: campo protocollo del datagram IP
 • pseudo-header anteposto al segmento UDP
 • checksum calcolato su pseudo-header e intero segmento UDP
 • lo pseudo-header non è trasmesso dal mittente
Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto                                5.61




                                                                                                      13
Checksum UDP

  Calcolato usando il complemento ad 1 della somma di tutti i campi
  dello pseudo-header e del segmento UDP
  Esempio
                                                                  Somma delle 3 parole
  3 parole da 16 bit l’una                                               0110011001100110
           0110011001100110                                              0101010101010101
           0101010101010101                                              0000111100001111
           0000111100001111
                                                                         1100101011001010

  • complemento ad 1di 1100101011001010  0011010100110101
  • campo checksum nel segmento UDP trasmesso = 0011010100110101
  • il destinatario calcola il suo checksum su pseudo-header e segmento UDP
  ricevuto (senza calcolare il complemento a 1)
  • checksum dest. + checksum UDP = 1111111111111111  no errore
  • checksum dest. + checksum UDP  1111111111111111  errore


Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto                                  5.62




                 Calcolo del checksum UDP

  Conoscenza                    dell’indirizzo                    IP   del   mittente       e   del
  destinatario
        - il processo mittente a livello UDP non può acquisire l’indirizzo IP del
        destinatario dall’applicazione di livello superiore
        - il processo mittente a livello UDP chiede al livello IP di costruire lo
        pseudo-header, calcolare il checksum UDP ed eliminare lo pseudo-
        header



   Violazione del principio di indipendenza funzionale per
  protocolli appartenenti a livelli diversi



Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto                                  5.63




                                                                                                        14

Contenu connexe

Tendances

Sistemi e reti : Il livello di trasporto
Sistemi e reti : Il livello di trasportoSistemi e reti : Il livello di trasporto
Sistemi e reti : Il livello di trasportoStefano Scarpellini
 
9 Intranetting
9 Intranetting9 Intranetting
9 Intranettingacapone
 
5 Protocolli Trasporto Parte3
5 Protocolli Trasporto Parte35 Protocolli Trasporto Parte3
5 Protocolli Trasporto Parte3Majong DevJfu
 
10 Reti Accesso
10 Reti Accesso10 Reti Accesso
10 Reti Accessoacapone
 
Lumit.Basic.Knowledge.Training.Introduzione.Tcp Ip
Lumit.Basic.Knowledge.Training.Introduzione.Tcp IpLumit.Basic.Knowledge.Training.Introduzione.Tcp Ip
Lumit.Basic.Knowledge.Training.Introduzione.Tcp IpLuca Astori
 
2 Protocolli Applicativi
2 Protocolli Applicativi2 Protocolli Applicativi
2 Protocolli Applicativiacapone
 
Strutturazione delle Reti
Strutturazione delle RetiStrutturazione delle Reti
Strutturazione delle RetiVincenzo Quero
 
13 Linux Network Comandi
13 Linux Network Comandi13 Linux Network Comandi
13 Linux Network ComandiMauro Ferrigno
 
DXFP Routing Protocol
DXFP Routing ProtocolDXFP Routing Protocol
DXFP Routing Protocolgiova841
 
11 Evoluzione
11 Evoluzione11 Evoluzione
11 Evoluzioneacapone
 
Wan data link protocols
Wan data link protocolsWan data link protocols
Wan data link protocolss_Morpheus
 
MPLS nelle (grandi) reti Enterprise
MPLS nelle (grandi) reti EnterpriseMPLS nelle (grandi) reti Enterprise
MPLS nelle (grandi) reti Enterprisefestival ICT 2016
 

Tendances (20)

8 Www2009 Parte2
8 Www2009 Parte28 Www2009 Parte2
8 Www2009 Parte2
 
Sistemi e reti : Il livello di trasporto
Sistemi e reti : Il livello di trasportoSistemi e reti : Il livello di trasporto
Sistemi e reti : Il livello di trasporto
 
Introduzione a TCP/IP
Introduzione a TCP/IPIntroduzione a TCP/IP
Introduzione a TCP/IP
 
9 Intranetting
9 Intranetting9 Intranetting
9 Intranetting
 
5 Protocolli Trasporto Parte3
5 Protocolli Trasporto Parte35 Protocolli Trasporto Parte3
5 Protocolli Trasporto Parte3
 
10 Reti Accesso
10 Reti Accesso10 Reti Accesso
10 Reti Accesso
 
Lumit.Basic.Knowledge.Training.Introduzione.Tcp Ip
Lumit.Basic.Knowledge.Training.Introduzione.Tcp IpLumit.Basic.Knowledge.Training.Introduzione.Tcp Ip
Lumit.Basic.Knowledge.Training.Introduzione.Tcp Ip
 
2 Protocolli Applicativi
2 Protocolli Applicativi2 Protocolli Applicativi
2 Protocolli Applicativi
 
3 H2 N Parte3
3 H2 N Parte33 H2 N Parte3
3 H2 N Parte3
 
Strutturazione delle Reti
Strutturazione delle RetiStrutturazione delle Reti
Strutturazione delle Reti
 
13 Linux Network Comandi
13 Linux Network Comandi13 Linux Network Comandi
13 Linux Network Comandi
 
SCTP
SCTPSCTP
SCTP
 
DXFP Routing Protocol
DXFP Routing ProtocolDXFP Routing Protocol
DXFP Routing Protocol
 
Topologie
TopologieTopologie
Topologie
 
11 Evoluzione
11 Evoluzione11 Evoluzione
11 Evoluzione
 
ISDN
ISDNISDN
ISDN
 
Wan data link protocols
Wan data link protocolsWan data link protocols
Wan data link protocols
 
Datalink wlan
Datalink wlanDatalink wlan
Datalink wlan
 
MPLS nelle (grandi) reti Enterprise
MPLS nelle (grandi) reti EnterpriseMPLS nelle (grandi) reti Enterprise
MPLS nelle (grandi) reti Enterprise
 
DataLink LAN
DataLink LANDataLink LAN
DataLink LAN
 

Similaire à 5 Protocolli Trasporto Parte1

Presentazione Wap Vs I Mode
Presentazione Wap Vs I ModePresentazione Wap Vs I Mode
Presentazione Wap Vs I Modemasso87
 
4 Protocollo Ip
4 Protocollo Ip4 Protocollo Ip
4 Protocollo Ipacapone
 
1 Intro Propedeutici
1 Intro Propedeutici1 Intro Propedeutici
1 Intro Propedeuticiacapone
 
IoT: protocolli, dispositivi, architetture
IoT: protocolli, dispositivi, architettureIoT: protocolli, dispositivi, architetture
IoT: protocolli, dispositivi, architettureStefano Valle
 
Protocol Rollercoaster: da HTTP a AMQP, passando per CoAP e MQTT
Protocol Rollercoaster: da HTTP a AMQP, passando per CoAP e MQTTProtocol Rollercoaster: da HTTP a AMQP, passando per CoAP e MQTT
Protocol Rollercoaster: da HTTP a AMQP, passando per CoAP e MQTTStefano Valle
 
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
 
Introduzione ai protocolli tcp/ip ed al Domain Name System
Introduzione ai protocolli tcp/ip ed al Domain Name SystemIntroduzione ai protocolli tcp/ip ed al Domain Name System
Introduzione ai protocolli tcp/ip ed al Domain Name SystemRoBisc
 
Vpn Virtual Private Network
Vpn Virtual Private NetworkVpn Virtual Private Network
Vpn Virtual Private Networkcarmine ricca
 
CommSEC - linea prodotti InterLINK (IT)
CommSEC - linea prodotti InterLINK (IT)CommSEC - linea prodotti InterLINK (IT)
CommSEC - linea prodotti InterLINK (IT)iBLio
 
Transmission Error Detector per Wi-Fi su kernel Linux 4.0
Transmission Error Detector per Wi-Fi su kernel Linux 4.0Transmission Error Detector per Wi-Fi su kernel Linux 4.0
Transmission Error Detector per Wi-Fi su kernel Linux 4.0Gabriele Di Bernardo
 
Reti locali cablate e wireless
Reti locali cablate e wirelessReti locali cablate e wireless
Reti locali cablate e wirelessSalvatore La Tona
 
Tesi di Laurea Specialistica in Ingegneria Informatica
Tesi di Laurea Specialistica in Ingegneria InformaticaTesi di Laurea Specialistica in Ingegneria Informatica
Tesi di Laurea Specialistica in Ingegneria InformaticaLorenzo Paladini
 
Soluzioni per la difesa da attacchi DoS nelle reti SDN
Soluzioni per la difesa da attacchi DoS nelle reti SDNSoluzioni per la difesa da attacchi DoS nelle reti SDN
Soluzioni per la difesa da attacchi DoS nelle reti SDNMatteo D'Amore
 

Similaire à 5 Protocolli Trasporto Parte1 (20)

Presentazione Wap Vs I Mode
Presentazione Wap Vs I ModePresentazione Wap Vs I Mode
Presentazione Wap Vs I Mode
 
8 Www2009 Parte1
8 Www2009 Parte18 Www2009 Parte1
8 Www2009 Parte1
 
2 Suite Standard
2 Suite Standard2 Suite Standard
2 Suite Standard
 
4 Protocollo Ip
4 Protocollo Ip4 Protocollo Ip
4 Protocollo Ip
 
1 Intro Propedeutici
1 Intro Propedeutici1 Intro Propedeutici
1 Intro Propedeutici
 
TCP IP
TCP IPTCP IP
TCP IP
 
IoT: protocolli, dispositivi, architetture
IoT: protocolli, dispositivi, architettureIoT: protocolli, dispositivi, architetture
IoT: protocolli, dispositivi, architetture
 
6 Dns Parte1
6 Dns Parte16 Dns Parte1
6 Dns Parte1
 
Socket python
Socket pythonSocket python
Socket python
 
Protocol Rollercoaster: da HTTP a AMQP, passando per CoAP e MQTT
Protocol Rollercoaster: da HTTP a AMQP, passando per CoAP e MQTTProtocol Rollercoaster: da HTTP a AMQP, passando per CoAP e MQTT
Protocol Rollercoaster: da HTTP a AMQP, passando per CoAP e MQTT
 
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
 
Fiorello
FiorelloFiorello
Fiorello
 
Introduzione ai protocolli tcp/ip ed al Domain Name System
Introduzione ai protocolli tcp/ip ed al Domain Name SystemIntroduzione ai protocolli tcp/ip ed al Domain Name System
Introduzione ai protocolli tcp/ip ed al Domain Name System
 
Vpn Virtual Private Network
Vpn Virtual Private NetworkVpn Virtual Private Network
Vpn Virtual Private Network
 
CommSEC - linea prodotti InterLINK (IT)
CommSEC - linea prodotti InterLINK (IT)CommSEC - linea prodotti InterLINK (IT)
CommSEC - linea prodotti InterLINK (IT)
 
Transmission Error Detector per Wi-Fi su kernel Linux 4.0
Transmission Error Detector per Wi-Fi su kernel Linux 4.0Transmission Error Detector per Wi-Fi su kernel Linux 4.0
Transmission Error Detector per Wi-Fi su kernel Linux 4.0
 
Reti locali cablate e wireless
Reti locali cablate e wirelessReti locali cablate e wireless
Reti locali cablate e wireless
 
Network essentials
Network essentialsNetwork essentials
Network essentials
 
Tesi di Laurea Specialistica in Ingegneria Informatica
Tesi di Laurea Specialistica in Ingegneria InformaticaTesi di Laurea Specialistica in Ingegneria Informatica
Tesi di Laurea Specialistica in Ingegneria Informatica
 
Soluzioni per la difesa da attacchi DoS nelle reti SDN
Soluzioni per la difesa da attacchi DoS nelle reti SDNSoluzioni per la difesa da attacchi DoS nelle reti SDN
Soluzioni per la difesa da attacchi DoS nelle reti SDN
 

Plus de Majong DevJfu

9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA CloudMajong DevJfu
 
8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processesMajong DevJfu
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product lineMajong DevJfu
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformationMajong DevJfu
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven ArchitectureMajong DevJfu
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture PortfolioMajong DevJfu
 
3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural stylesMajong DevJfu
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architectureMajong DevJfu
 
1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a productMajong DevJfu
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural stylesMajong DevJfu
 

Plus de Majong DevJfu (20)

9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud
 
8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product line
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
 
3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture
 
1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
 
Uml3
Uml3Uml3
Uml3
 
Uml2
Uml2Uml2
Uml2
 
6
66
6
 
5
55
5
 
4 (uml basic)
4 (uml basic)4 (uml basic)
4 (uml basic)
 
3
33
3
 
2
22
2
 
1
11
1
 
Tmd template-sand
Tmd template-sandTmd template-sand
Tmd template-sand
 
26 standards
26 standards26 standards
26 standards
 

5 Protocolli Trasporto Parte1

  • 1. PARTE 5 LIVELLO TRASPORTO - Servizi livello trasporto e protocollo UDP Parte 5 Modulo 4: Introduzione 1
  • 2. Livello 4 (transport) • Il livello trasporto estende il servizio di consegna con impegno proprio del protocollo IP tra due host terminali ad un servizio di consegna a due processi applicativi in esecuzione sugli host • Se IP è il protocollo di rete, TCP sarà il protocollo di trasporto? NO! • TCP è solo un componente del livello di trasporto della suite TCP/IP • L’altro componente è costituita dal protocollo UDP (User Datagram Protocol) Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto 5.38 Livello 4 (transport) • Il livello transport estende il servizio di consegna con impegno proprio del protocollo IP tra due host terminali ad un servizio di consegna a due processi applicativi in esecuzione sugli host • Servizi aggiuntivi rispetto a IP – multiplazione e demultiplazione messaggi tra processi – rilevamento dell’errore (mediante checksum) • Esempi di protocolli transport – UDP (User Datagram Protocol) – TCP (Transmission Control Protocol): offre servizi aggiuntivi rispetto a UDP Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto 5.39 2
  • 3. Livelli dello stack TCP/IP: chi gestisce? Applicazioni Processo Processo Sistema operativo TCP UDP IP Hardware e software di basso livello (SO) Host-to- network Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto 5.40 Servizi del livello di trasporto Servizi comuni a UDP e TCP: Estensione del servizio di consegna del protocollo IP tra due nodi terminali ad un servizio di consegna a due processi applicativi in esecuzione sui nodi terminali - multiplazione e demultiplazione - rilevamento dell’errore (non correzione!) Servizi aggiuntivi di TCP: – Trasferimento affidabile dei dati controllo di flusso, numeri di sequenza, acknowledgement e timer – Controllo di congestione regola il tasso di invio dei segmenti da parte del mittente Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto 5.41 3
  • 4. Parte 5 Modulo 5: Multiplazione e demultiplazione 1. Multiplazione e demultiplazione Il protocollo IP non consegna i dati tra processi applicativi in esecuzione sui nodi terminali (un indirizzo IP per identificare ogni nodo terminale)  compito del protocollo di trasporto Ogni segmento dello strato di trasporto possiede un campo contenente l’informazione usata per determinare a quale processo deve essere consegnato il segmento  demultiplazione La demultiplazione avviene dal lato del nodo destinatario Creazione dei segmenti provenienti dai messaggi di diversi processi applicativi  multiplazione La multiplazione avviene dal lato del nodo mittente Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto 5.43 4
  • 5. Esempio destinatario P3 P4 application-layer M M data application segment P1 transport P2 header M M network application application segment Ht M transport transport network Hn segment network Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto 5.44 Multiplazione e demultiplazione (cont.) UDP e TCP attuano la multiplazione/demultiplazione includendo due campi speciali nell’header del segmento: – il numero di porta del mittente – il numero di porta del destinatario Permettono di identificare in modo univoco i due processi applicativi, residenti su due nodi terminali e comunicanti tra loro Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto 5.45 5
  • 6. Multiplazione e demultiplazione (cont.) Numero di porta: numero di 16 bit compreso tra 0 e 65535 Numeri di porta noti (well-known ports, assigned numbers in [RFC 1700]): tra 0 e 1023 riservati per protocolli applicativi noti (ad es., HTTP e FTP) - HTTP: numero di porta 80 - Telnet: numero di porta 23 - SMTP: numero di porta 25 - DNS: numero di porta 53 Quando si realizza un nuovo servizio di rete è necessario assegnargli un nuovo numero di porta Occorre sia il numero di porta del mittente sia quello del destinatario per distinguere processi dello stesso tipo ed in esecuzione negli stessi istanti Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto 5.46 Categorie di numeri di porta 0-1023  Well Known Ports NON DEVONO essere usate senza una precedente autorizzazione da IANA [RFC4340]. Nella maggior parte dei sistemi, possono essere usate solo da processi con privilegi di root o simili 1024-49151  Registered Ports NON DEVONO essere usate senza una precedente autorizzazione da IANA [RFC4340]. Nella maggior parte dei sistemi, possono essere usate da qualsiasi processo 49152-65535  Dynamic or Private Ports Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto 5.47 6
  • 7. Esempio: telnet Uso dei numeri di porta in un’applicazione client/server (es. Telnet, con numero di porta 23): Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto 5.48 Assegnazione dei numeri di porta Modello client/server 1. Numero di porta del destinatario nel segmento inviato dal client al server corrisponde al numero di porta del servizio richiesto (ad es., 80 per HTTP) 2. Numero di porta del mittente nel segmento inviato dal client al server corrisponde ad un numero di porta scelto tra quelli non in uso sul client 3. Numero di porta del mittente nel segmento inviato dal server al client corrisponde al numero di porta del servizio richiesto (ad es., 80 per HTTP) 4. Numero di porta del destinatario nel segmento inviato dal server al client corrisponde al numero di porta indicato dal client nel messaggio precedentemente inviato Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto 5.49 7
  • 8. Indirizzo IP e numero di porta (1) Due processi client, residenti su host diversi per comunicare con lo stesso servizio applicativo sono sempre distinti in base al loro indirizzo IP (sorgente) e possono essere distinti in base al numero di porta sorgente (SP): IPs=190.85.14.32 IPd=98.21.45.33 host client con connessione telnet IPs=144.21.67.11 host server che gestisce multiple connessioni telnet host client con connessione telnet Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto 5.50 Indirizzo IP e numero di porta (2) Due processi client, residenti su host diversi e che, per eventualità, usano lo stesso numero di porta sorgente (SP) per comunicare con lo stesso servizio applicativo, sono distinti in base al loro indirizzo IP: IPs=190.85.14.32 IPd=98.21.45.33 host client con connessione telnet IPs=144.21.67.11 host server che gestisce multiple connessioni telnet host client con connessione telnet Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto 5.51 8
  • 9. Indirizzo IP e numero di porta (3) Due processi client, residenti sullo stesso host per comunicare con lo stesso servizio applicativo, non essendo distinti in base al loro indirizzo IP, useranno diversi numeri di porta sorgente (SP) grazie al sistema operativo: IPs=144.21.67.11 SP=15433, DP=21 IPs=144.21.67.11 host client con due SP=25446, DP=21 host server che gestisce connessioni telnet multiple connessioni telnet Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto 5.52 Esempi source port: x Web client host A dest. port: 23 server B host C source port:23 dest. port: x Source IP: C Source IP: C Dest IP: B Dest IP: B source port: y source port: x porta: simple telnet app dest. port: 80 dest. port: 80 Source IP: A Dest IP: B Web Web client source port: x server B host A dest. port: 80 porta: Web server Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto 5.53 9
  • 10. Indirizzi • A livello network (IP)  [indirizzo IP1, indirizzo IP2 ] • A livello trasporto (UDP, TCP)  [(ind. IP1, porta1), (ind. IP2, porta2)] Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto 5.54 Parte 5 Modulo 6: Protocollo UDP 10
  • 11. Caratteristiche protocollo UDP (cosa ha) User Data Protocol (UDP), definito in [RFC 768], è un protocollo di trasporto leggero, ovvero dotato delle funzionalità minime del trasporto: 1. Servizio di multiplazione/demultiplazione • UDP aggiunge al messaggio proveniente dal livello applicativo il numero di porta del mittente e del destinatario 2. Controllo di errore • UDP include nell’header un campo di checksum Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto 5.56 Caratteristiche protocollo UDP (cosa non ha) 3. Servizio di consegna non garantito, ma solo di tipo best effort • i segmenti UDP possono essere persi, duplicati, consegnati senza ordine 4. Servizio senza connessione (connectionless) • non vi è handshaking tra mittente e destinatario del segmento UDP • ogni segmento UDP è trattato in modo indipendente dagli altri Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto 5.57 11
  • 12. Formato segmento UDP Segmento UDP (o user datagram) incapsulato in un datagramma IP Header UDP Dati UDP Header IP Dati IP Segmento UDP 32 bit numero porta mittente numero porta destinatario lunghezza checksum dati dell’applicazione (messaggio) Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto 5.58 Campi del segmento UDP • numero di porta del mittente (16 bit) • numero di porta del destinatario (16 bit) • lunghezza (16 bit): dimensione in byte del segmento – lunghezza = header + dati – header: dimensione pari a 8 byte • checksum – non è detto che tutti i link forniscano un servizio di livello 2 per rilevare errori – checksum a livello IP limitato all’header del datagram IP – non c’è recupero dell’errore (in alcune implementazioni il segmento viene scartato, in altre viene consegnato all’applicazione segnalando l’errore) • dati: contiene il messaggio fornito dal livello applicativo Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto 5.59 12
  • 13. 2. Checksum UDP Scopo: individuare “errori” (es., bit modificati) nel segmento trasmesso Mittente Destinatario • Tratta i contenuti del • Calcola il checksum del segmento come sequenza segmento ricevuto di interi a 16 bit • Controlla se il valore del • Checksum= somma dei checksum calcolato è uguale al contenuti dei segmenti valore del campo checksum: con complemento a 1 – NO  errore • Il mittente invia il valore del – SI  non si individua errore. checksum nel campo Ci può essere lo stesso un checksum del segmento errore? …. UDP Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto 5.60 Checksum UDP Calcolato usando un maggior numero di informazioni di quelle presenti nell’header UDP  definizione di uno pseudo-header UDP 32 bit indirizzo IP mittente indirizzo IP destinatario zero padding protocollo lunghezza UDP • zero padding: dimensione dello pseudo-header (multiplo di 32 bit) • protocollo: campo protocollo del datagram IP • pseudo-header anteposto al segmento UDP • checksum calcolato su pseudo-header e intero segmento UDP • lo pseudo-header non è trasmesso dal mittente Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto 5.61 13
  • 14. Checksum UDP Calcolato usando il complemento ad 1 della somma di tutti i campi dello pseudo-header e del segmento UDP Esempio Somma delle 3 parole 3 parole da 16 bit l’una 0110011001100110 0110011001100110 0101010101010101 0101010101010101 0000111100001111 0000111100001111 1100101011001010 • complemento ad 1di 1100101011001010  0011010100110101 • campo checksum nel segmento UDP trasmesso = 0011010100110101 • il destinatario calcola il suo checksum su pseudo-header e segmento UDP ricevuto (senza calcolare il complemento a 1) • checksum dest. + checksum UDP = 1111111111111111  no errore • checksum dest. + checksum UDP  1111111111111111  errore Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto 5.62 Calcolo del checksum UDP Conoscenza dell’indirizzo IP del mittente e del destinatario - il processo mittente a livello UDP non può acquisire l’indirizzo IP del destinatario dall’applicazione di livello superiore - il processo mittente a livello UDP chiede al livello IP di costruire lo pseudo-header, calcolare il checksum UDP ed eliminare lo pseudo- header  Violazione del principio di indipendenza funzionale per protocolli appartenenti a livelli diversi Protocolli e Architetture di Rete 2009/2010 – Livello Trasporto 5.63 14