SlideShare uma empresa Scribd logo
1 de 62
Baixar para ler offline
SCTP
      Stream Control Transmission Protocol




Gruppo 9                                Destro Carlo
                                         798286
 1    2    3   4   5   6    7   8   9       10    11   12
INDICE

     1. SCTP, questo sconosciuto
     2. Struttura dei pacchetti
     3. Stati di un’associazione
     4. INIT chunk
     5. Multihoming
     6. Path heartbeat
     7. Multistreming
     8. Flow congestion & flow control
     9. Performance
     10. Conclusioni

S CT P

         1   2   3   4   5     6      7   8   9   10   11   12
SCTP, QUESTO SCONOSCIUTO




S CT P

         1   2    3   4   5   6   7   8   9   10   11   12
SCTP, QUESTO SCONOSCIUTO




S CT P

         1   2    3   4   5   6   7   8   9   10   11   12
SCTP, QUESTO SCONOSCIUTO

              23 novembre 1998 nasce SIGTRAN (SIGnalin TRANsport)




S CT P

         1        2       3      4      5      6       7      8      9   10   11   12
SCTP, QUESTO SCONOSCIUTO

              23 novembre 1998 nasce SIGTRAN (SIGnalin TRANsport)

              inizialmente MDTP,   dopo 9 versioni diventa SCTP




S CT P

         1        2       3         4      5       6       7       8   9   10   11   12
SCTP, QUESTO SCONOSCIUTO

              23 novembre 1998 nasce SIGTRAN (SIGnalin TRANsport)

              inizialmente MDTP,   dopo 9 versioni diventa SCTP



              SCTP è un nuovo protocollo IP,   allo stesso livello di UDP e TCP




S CT P

         1         2      3         4      5        6        7       8        9    10   11   12
SCTP, QUESTO SCONOSCIUTO

              23 novembre 1998 nasce SIGTRAN (SIGnalin TRANsport)

              inizialmente MDTP,   dopo 9 versioni diventa SCTP



              SCTP è un nuovo protocollo IP,   allo stesso livello di UDP e TCP


              come TCP offre un trasporto sicuro ed ordinato dei dati attraverso la rete




S CT P

         1         2       3        4       5       6        7       8        9      10     11   12
SCTP, QUESTO SCONOSCIUTO

              23 novembre 1998 nasce SIGTRAN (SIGnalin TRANsport)

              inizialmente MDTP,      dopo 9 versioni diventa SCTP



              SCTP è un nuovo protocollo IP,       allo stesso livello di UDP e TCP


              come TCP offre un trasporto sicuro ed ordinato dei dati attraverso la rete

              diversamente da TCP garantisce alcune funzioni critiche per il trasporto di segnali
             telefonici (come la reattività e la persistenza di più canali di back-up)




S CT P

         1          2        3        4         5        6        7        8        9    10     11   12
STRUTTURA DEI PACCHETTI




S CT P

         1   2    3   4   5   6   7   8   9   10   11   12
STRUTTURA DEI PACCHETTI
                                          COMMON HEADER
                                            compreso in ogni datagram
                                            source port: per multiplexing
                                             dall’upper-user
                                              destination port: per demultiplexing
                                             all’upper-user
                                              verification tag: per confermare
                                             l’autenticità del sender
                                              checksum: calcolato con Adler-32 per
                                             individuare datagram corrotti




S CT P

         1   2    3   4   5   6   7   8           9        10         11        12
STRUTTURA DEI PACCHETTI




S CT P

         1   2    3   4   5   6   7   8   9   10   11   12
STRUTTURA DEI PACCHETTI



                                          CHUNK
                                            “vagone” che compone il “treno”
                                             datagram
                                              chunk type: definisce come
                                             interpretare il contenuto del chunk
                                              chunk flags: in base al chunk type
                                             passano dei parametri al receiver
                                              chunk length: lunghezza complessiva
                                             del chunk
                                              fixed fields: dati trasportati




S CT P

         1   2    3   4   5   6   7   8           9        10         11         12
STRUTTURA DEI PACCHETTI




S CT P

         1   2    3   4   5   6   7   8   9   10   11   12
STRUTTURA DEI PACCHETTI




                                          PARAMETER / CAUSE
                                             type/code: definisce come
                                            interpretare i dati trasportati
                                             length: lunghezza
                                             value: dati trasportati


S CT P

         1   2    3   4   5   6   7   8          9           10          11   12
STATI DI UNA ASSOCIAZIONE




S CT P

         1   2    3   4   5   6   7   8   9   10   11   12
STATI DI UNA ASSOCIAZIONE

                              ESTABLISHMENT (4-way handshake)




S CT P

         1   2    3   4   5      6      7      8       9        10   11   12
STATI DI UNA ASSOCIAZIONE

                              ESTABLISHMENT (4-way handshake)

                                 A richiede l’associazzione allegando il
                                proprio VerificationTag (random)




S CT P

         1   2    3   4   5       6          7           8          9       10   11   12
STATI DI UNA ASSOCIAZIONE

                              ESTABLISHMENT (4-way handshake)

                                 A richiede l’associazzione allegando il
                                proprio VerificationTag (random)



                                 B risponde ripetendo il      VerificationTag di
                                A, generando il proprio VerificationTag e
                                allegando un Cookie [hash(MAC), timestamp,
                                lifespan e altre info per la connessione]




S CT P

         1   2    3   4   5       6           7           8           9            10   11   12
STATI DI UNA ASSOCIAZIONE

                              ESTABLISHMENT (4-way handshake)

                                 A richiede l’associazzione allegando il
                                proprio VerificationTag (random)



                                 B risponde ripetendo il      VerificationTag di
                                A, generando il proprio VerificationTag e
                                allegando un Cookie [hash(MAC), timestamp,
                                lifespan e altre info per la connessione]

                                 A rimanda a B il Cookie [e può iniziare a
                                spedire dati]




S CT P

         1   2    3   4   5       6             7         8           9            10   11   12
STATI DI UNA ASSOCIAZIONE

                              ESTABLISHMENT (4-way handshake)

                                 A richiede l’associazzione allegando il
                                proprio VerificationTag (random)



                                 B risponde ripetendo il      VerificationTag di
                                A, generando il proprio VerificationTag e
                                allegando un Cookie [hash(MAC), timestamp,
                                lifespan e altre info per la connessione]

                                 A rimanda a B il Cookie [e può iniziare a
                                spedire dati]




                                 B controlla che il Cookie sia proprio
                                quello che aveva generato poco prima; in
                                caso di successo risponde con un Cookie-
                                Ack [e può iniziare a spedire dati]




S CT P

         1   2    3   4   5       6             7         8           9            10   11   12
STATI DI UNA ASSOCIAZIONE


                                      SHUTDOWN (3-way)                            A                 B

                         A invia il chunk SHUTDOWN e smette di            
                                                   inviare dati

                   B risponde con lo SHUTDOWN-ACK e smette                
                                               di inviare dati

                  A risponde con lo SHUTDOWN-COMPLETION
                            e cancella i dati relativi all’associazione
                                                                          
                            B cancella i dati relativi all’associazione
                                                                          




S CT P

         1   2     3           4            5           6           7         8       9   10   11   12
INIT CHUNK




S CT P

         1   2   3   4    5   6   7   8   9   10   11   12
INIT CHUNK




S CT P

         1   2   3   4    5   6   7   8   9   10   11   12
INIT CHUNK

INIT chunk attualmente nessun flag   lunghezza chunk
                                                 primo Verification Tag dell’associazione

                                                 buffer minimo garantito per l’associazione

                                                 numero di streams in entrata/uscita
                                                 valore di partenza della SequenceNumber

                                                 IPv4 disponibili nel sender

                                                 IPv6 disponibili nel sender


                                                 tipi di IP supportati (IPv4, IPv6, host)

                                                 possibile sviluppo futuro di SCTP



 S CT P

          1    2      3       4      5       6        7         8        9        10        11   12
MULTIHOMING




S CT P

         1   2   3   4     5   6   7   8   9   10   11   12
MULTIHOMING




S CT P

         1   2   3   4     5   6   7   8   9   10   11   12
MULTIHOMING


                                       Connection oriented
                                          unica connessione




S CT P

         1   2   3   4     5   6   7     8       9       10    11   12
MULTIHOMING


                                       Connection oriented
                                          unica connessione




S CT P

         1   2   3   4     5   6   7     8       9       10    11   12
MULTIHOMING


                                       Connection oriented
                                          unica connessione




                                       Association oriented
                                          multiple connessioni
                                          IPv4 e IPv6
                                          Fault Tolerance
                                          Load Balancing [in futuro]




S CT P

         1   2   3   4     5   6   7     8         9         10         11   12
PATH HEARTBEAT




S CT P

         1   2   3   4   5   6   7   8   9   10   11   12
PATH HEARTBEAT
         ?? Come sapere se le connessioni di back-up sono ancora attive dopo l’Handshake??




S CT P

          1        2       3       4        5       6       7        8       9      10       11   12
PATH HEARTBEAT
         ?? Come sapere se le connessioni di back-up sono ancora attive dopo l’Handshake??

                                    Soluzione: le testo continuamente!




S CT P

          1        2       3       4        5       6       7        8       9      10       11   12
PATH HEARTBEAT
         ?? Come sapere se le connessioni di back-up sono ancora attive dopo l’Handshake??

                                    Soluzione: le testo continuamente!



     HEARTBEAT chunk            attualmente nessun flag        lunghezza chunk




                                                         }   stato attuale dell’associazione
                                                             timestamp




S CT P

          1        2       3       4        5       6        7        8         9      10      11   12
PATH HEARTBEAT
         ?? Come sapere se le connessioni di back-up sono ancora attive dopo l’Handshake??

                                       Soluzione: le testo continuamente!



     HEARTBEAT chunk             attualmente nessun flag                  lunghezza chunk




                                                                    }   stato attuale dell’associazione
                                                                        timestamp



                                                      Considerazioni
                           sfrutta timestamp per calcolare RTT e disponibilità del peer
                           definisce l’indirizzo non valido in base a HB.counter
                           tiene aggiornato l’upper-user sul numero di indirzzi di backup disponibili

S CT P

          1        2       3          4           5          6           7          8           9        10   11   12
MULTISTREAMING




S CT P

         1   2   3   4   5   6   7   8   9   10   11   12
MULTISTREAMING

                                     Una associazione N streams!
                                        invio parallelo di dati
                                        invio ordinato dei messaggi
                                        invio non ordinato dei messaggi
                                        no Head-of-Line blocking




S CT P

         1   2   3   4   5   6   7       8          9        10            11   12
MULTISTREAMING
                         Una associazione N streams!
                            invio parallelo di dati
                            invio ordinato dei messaggi
                            invio non ordinato dei messaggi
                            no Head-of-Line blocking




S CT P

         1   2   3   4       5                    6            7   8   9   10   11   12
MULTISTREAMING
                         Una associazione N streams!
                            invio parallelo di dati
                            invio ordinato dei messaggi
                            invio non ordinato dei messaggi
                            no Head-of-Line blocking




S CT P

         1   2   3   4       5                    6            7   8   9   10   11   12
FLOW CONGESTION & FLOW CONTROL




S CT P

         1     2   3   4   5   6   7   8   9   10   11   12
FLOW CONGESTION & FLOW CONTROL

         (Receiver Advertised Window) RWND

         (Congestion Control Window) CWND

              (Slow Start Threshold) SSTHRESH




S CT P

          1         2        3       4          5   6   7   8   9   10   11   12
FLOW CONGESTION & FLOW CONTROL

         (Receiver Advertised Window) RWND              Slow Start
                                                        Congestion Avoidance
         (Congestion Control Window) CWND
                                                        Fast-Retrasmit on Gap Reports
              (Slow Start Threshold) SSTHRESH           Fast-Recovery




S CT P

          1         2        3       4          5   6   7      8       9       10       11   12
FLOW CONGESTION & FLOW CONTROL
   (Receiver Advertised Window) RWND               Slow Start
                                                   Congestion Avoidance
   (Congestion Control Window) CWND
                                                   Fast-Retrasmit on Gap Reports
         (Slow Start Threshold) SSTHRESH           Fast-Recovery




S CT P

           1       2        3       4      5   6       7       8       9      10   11   12
FLOW CONGESTION & FLOW CONTROL
   (Receiver Advertised Window) RWND               Slow Start
                                                   Congestion Avoidance
   (Congestion Control Window) CWND
                                                   Fast-Retrasmit on Gap Reports
         (Slow Start Threshold) SSTHRESH           Fast-Recovery



         SACK chunk




S CT P

           1       2        3       4      5   6       7       8       9      10   11   12
FLOW CONGESTION & FLOW CONTROL
   (Receiver Advertised Window) RWND                   Slow Start
                                                       Congestion Avoidance
   (Congestion Control Window) CWND
                                                       Fast-Retrasmit on Gap Reports
         (Slow Start Threshold) SSTHRESH               Fast-Recovery



         SACK chunk       attualmente nessun flag




S CT P

           1       2        3       4      5       6       7       8       9      10   11   12
FLOW CONGESTION & FLOW CONTROL
   (Receiver Advertised Window) RWND                   Slow Start
                                                       Congestion Avoidance
   (Congestion Control Window) CWND
                                                       Fast-Retrasmit on Gap Reports
         (Slow Start Threshold) SSTHRESH               Fast-Recovery



         SACK chunk       attualmente nessun flag   lunghezza chunk




S CT P

           1       2        3       4      5       6       7         8     9      10   11   12
FLOW CONGESTION & FLOW CONTROL
   (Receiver Advertised Window) RWND                   Slow Start
                                                       Congestion Avoidance
   (Congestion Control Window) CWND
                                                       Fast-Retrasmit on Gap Reports
         (Slow Start Threshold) SSTHRESH               Fast-Recovery



         SACK chunk       attualmente nessun flag   lunghezza chunk


                                                                ultimo byte ricevuto in ordine




S CT P

           1       2        3       4      5       6       7         8     9       10      11    12
FLOW CONGESTION & FLOW CONTROL
   (Receiver Advertised Window) RWND                   Slow Start
                                                       Congestion Avoidance
   (Congestion Control Window) CWND
                                                       Fast-Retrasmit on Gap Reports
         (Slow Start Threshold) SSTHRESH               Fast-Recovery



         SACK chunk       attualmente nessun flag   lunghezza chunk


                                                                ultimo byte ricevuto in ordine
                                                                               buffer minimo garantito
                                                                                  per l’associazione




S CT P

           1       2        3       4      5       6       7         8     9       10      11       12
FLOW CONGESTION & FLOW CONTROL
   (Receiver Advertised Window) RWND                   Slow Start
                                                       Congestion Avoidance
   (Congestion Control Window) CWND
                                                       Fast-Retrasmit on Gap Reports
         (Slow Start Threshold) SSTHRESH               Fast-Recovery



         SACK chunk       attualmente nessun flag   lunghezza chunk


                                                                ultimo byte ricevuto in ordine
                                                                                buffer minimo garantito
                                                                                   per l’associazione
                                                                  cardinalità




S CT P

           1       2        3       4      5       6       7         8      9       10      11       12
FLOW CONGESTION & FLOW CONTROL
   (Receiver Advertised Window) RWND                   Slow Start
                                                       Congestion Avoidance
   (Congestion Control Window) CWND
                                                       Fast-Retrasmit on Gap Reports
         (Slow Start Threshold) SSTHRESH               Fast-Recovery



         SACK chunk       attualmente nessun flag   lunghezza chunk


                                                                ultimo byte ricevuto in ordine
                                                                                buffer minimo garantito
                                                                                   per l’associazione
                                                                  cardinalità


                                                                         dati non ancora ricevuti




S CT P

           1       2        3       4      5       6       7         8      9       10      11       12
FLOW CONGESTION & FLOW CONTROL
   (Receiver Advertised Window) RWND                   Slow Start
                                                       Congestion Avoidance
   (Congestion Control Window) CWND
                                                       Fast-Retrasmit on Gap Reports
         (Slow Start Threshold) SSTHRESH               Fast-Recovery



         SACK chunk       attualmente nessun flag   lunghezza chunk


                                                                ultimo byte ricevuto in ordine
                                                                                buffer minimo garantito
                                                                                   per l’associazione
                                                                  cardinalità


                                                                         dati non ancora ricevuti


                                                                         TSN ricevuti più volte

S CT P

           1       2        3       4      5       6       7         8      9       10      11       12
PERFORMANCE




S CT P

         1   2   3   4     5   6   7   8   9   10   11   12
PERFORMANCE




S CT P

         1   2   3   4     5   6   7   8   9   10   11   12
PERFORMANCE




S CT P

         1   2   3   4     5   6   7   8   9   10   11   12
PERFORMANCE




S CT P

         1   2   3   4     5   6   7   8   9   10   11   12
PERFORMANCE


                                       Analisi
                                          SCTP = 5% TCP bandwidth
                                          Sebbene la banda di TCP cadesse per
                                          periodi lunghi, resta comunque più
                                          performante di STCP




S CT P

         1   2   3   4     5   6   7      8          9         10         11     12
PERFORMANCE


                                       Analisi
                                          SCTP = 5% TCP bandwidth
                                          Sebbene la banda di TCP cadesse per
                                          periodi lunghi, resta comunque più
                                          performante di STCP




                                       Possibili cause
                                          SCTP è ancora un protocollo molto
                                          giovane se confrontato con TCP
                                           si è lavorato molto sullo stack TCP di
                                          Linux
                                           finora l’obiettivo principale per SCTP
                                          era renderlo completo e sicuro




S CT P

         1   2   3   4     5   6   7      8          9         10         11         12
CONCLUSIONI




S CT P

         1   2   3   4     5   6   7   8   9   10   11   12
CONCLUSIONI

      SCTP si sta imponendo come terzo grande protocollo di
     trasporto assieme a TCP e UDP




S CT P

         1   2   3     4     5   6     7    8    9    10   11   12
CONCLUSIONI

      SCTP si sta imponendo come terzo grande protocollo di
     trasporto assieme a TCP e UDP

      non è ancora pronto per sostituire TCP, ma al momento è il
     miglior candidato per farlo




S CT P

         1   2    3    4     5    6    7     8    9    10    11     12
CONCLUSIONI

      SCTP si sta imponendo come terzo grande protocollo di
     trasporto assieme a TCP e UDP

      non è ancora pronto per sostituire TCP, ma al momento è il
     miglior candidato per farlo

      la sua facile estensibilità lo rende velocemente adattabile a
     molti nuovi scenari




S CT P

         1   2     3     4     5     6     7     8     9    10    11   12
CONCLUSIONI

      SCTP si sta imponendo come terzo grande protocollo di
     trasporto assieme a TCP e UDP

      non è ancora pronto per sostituire TCP, ma al momento è il
     miglior candidato per farlo

      la sua facile estensibilità lo rende velocemente adattabile a
     molti nuovi scenari

      SCTP è attualmente implementato nativamente su Linux,
     Solaris, FreeBSD, MAC OS X, IBM AIX, Cisco IOS, HP-UX e su
     sistemi NOKIA e SIEMENS. Disponibili diverse implementazioni
     open-source e proprietarie per la maggior parte dei sistemi
     operativi.
S CT P

         1   2     3     4     5     6     7     8     9    10    11   12

Mais conteúdo relacionado

Mais procurados

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
 
6 Inoltro Instradamento
6 Inoltro Instradamento6 Inoltro Instradamento
6 Inoltro Instradamentoacapone
 
Wan data link protocols
Wan data link protocolsWan data link protocols
Wan data link protocolss_Morpheus
 
5 Protocolli Trasporto Parte3
5 Protocolli Trasporto Parte35 Protocolli Trasporto Parte3
5 Protocolli Trasporto Parte3Majong DevJfu
 
4 Protocollo Ip
4 Protocollo Ip4 Protocollo Ip
4 Protocollo Ipacapone
 
5 Protocolli Trasporto Parte1
5 Protocolli Trasporto Parte15 Protocolli Trasporto Parte1
5 Protocolli Trasporto Parte1Majong DevJfu
 
Datalink lan equipment
Datalink lan equipmentDatalink lan equipment
Datalink lan equipments_Morpheus
 
F Temi D Esame
F Temi D EsameF Temi D Esame
F Temi D Esameacapone
 
4 Livello Ip Parte3 Bw
4 Livello Ip Parte3 Bw4 Livello Ip Parte3 Bw
4 Livello Ip Parte3 BwMajong DevJfu
 
5 Trasporto Affidabile Teoria
5 Trasporto Affidabile Teoria5 Trasporto Affidabile Teoria
5 Trasporto Affidabile TeoriaMajong DevJfu
 
Reti locali cablate e wireless
Reti locali cablate e wirelessReti locali cablate e wireless
Reti locali cablate e wirelessSalvatore La Tona
 
Livello Fisico
Livello FisicoLivello Fisico
Livello Fisicos_Morpheus
 
Tcp Satellite
Tcp SatelliteTcp Satellite
Tcp Satellitepsegat
 

Mais procurados (20)

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
 
6 Inoltro Instradamento
6 Inoltro Instradamento6 Inoltro Instradamento
6 Inoltro Instradamento
 
Wan data link protocols
Wan data link protocolsWan data link protocols
Wan data link protocols
 
5 Protocolli Trasporto Parte3
5 Protocolli Trasporto Parte35 Protocolli Trasporto Parte3
5 Protocolli Trasporto Parte3
 
4 Protocollo Ip
4 Protocollo Ip4 Protocollo Ip
4 Protocollo Ip
 
DataLink LAN
DataLink LANDataLink LAN
DataLink LAN
 
5 Protocolli Trasporto Parte1
5 Protocolli Trasporto Parte15 Protocolli Trasporto Parte1
5 Protocolli Trasporto Parte1
 
Datalink lan equipment
Datalink lan equipmentDatalink lan equipment
Datalink lan equipment
 
Datalink wlan
Datalink wlanDatalink wlan
Datalink wlan
 
F Temi D Esame
F Temi D EsameF Temi D Esame
F Temi D Esame
 
HSDPA / HSUPA Rel 7 Technology
HSDPA / HSUPA Rel 7 TechnologyHSDPA / HSUPA Rel 7 Technology
HSDPA / HSUPA Rel 7 Technology
 
4 Livello Ip Parte3 Bw
4 Livello Ip Parte3 Bw4 Livello Ip Parte3 Bw
4 Livello Ip Parte3 Bw
 
5 Trasporto Affidabile Teoria
5 Trasporto Affidabile Teoria5 Trasporto Affidabile Teoria
5 Trasporto Affidabile Teoria
 
Wireless Sensor Network
Wireless Sensor NetworkWireless Sensor Network
Wireless Sensor Network
 
Reti locali cablate e wireless
Reti locali cablate e wirelessReti locali cablate e wireless
Reti locali cablate e wireless
 
Livello Fisico
Livello FisicoLivello Fisico
Livello Fisico
 
Tcp Satellite
Tcp SatelliteTcp Satellite
Tcp Satellite
 
3 H2 N Parte1
3 H2 N Parte13 H2 N Parte1
3 H2 N Parte1
 
Iperf
IperfIperf
Iperf
 
3 H2 N Parte2
3 H2 N Parte23 H2 N Parte2
3 H2 N Parte2
 

Destaque

A lazy way to come up with blog ideas
A lazy way to come up with blog ideasA lazy way to come up with blog ideas
A lazy way to come up with blog ideasAndrew Davis
 
Portfolio of Recent Work
Portfolio of Recent WorkPortfolio of Recent Work
Portfolio of Recent Workkeldajean
 
My Curiculum Vitae
My Curiculum VitaeMy Curiculum Vitae
My Curiculum Vitaesweet_ale89
 
Engaging Donors in an Online Age-2011
Engaging Donors in an Online Age-2011Engaging Donors in an Online Age-2011
Engaging Donors in an Online Age-2011Bridget Brandt
 
Tips marcargolosnaformaçãode equipas e lideres
Tips marcargolosnaformaçãode equipas e lideresTips marcargolosnaformaçãode equipas e lideres
Tips marcargolosnaformaçãode equipas e lideresISCTE
 

Destaque (6)

A lazy way to come up with blog ideas
A lazy way to come up with blog ideasA lazy way to come up with blog ideas
A lazy way to come up with blog ideas
 
Portfolio of Recent Work
Portfolio of Recent WorkPortfolio of Recent Work
Portfolio of Recent Work
 
Blondu
BlonduBlondu
Blondu
 
My Curiculum Vitae
My Curiculum VitaeMy Curiculum Vitae
My Curiculum Vitae
 
Engaging Donors in an Online Age-2011
Engaging Donors in an Online Age-2011Engaging Donors in an Online Age-2011
Engaging Donors in an Online Age-2011
 
Tips marcargolosnaformaçãode equipas e lideres
Tips marcargolosnaformaçãode equipas e lideresTips marcargolosnaformaçãode equipas e lideres
Tips marcargolosnaformaçãode equipas e lideres
 

Último

Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Associazione Digital Days
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Associazione Digital Days
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Associazione Digital Days
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Associazione Digital Days
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Associazione Digital Days
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Associazione Digital Days
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Associazione Digital Days
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoQuotidiano Piemontese
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Associazione Digital Days
 

Último (9)

Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 Torino
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
 

SCTP

  • 1. SCTP Stream Control Transmission Protocol Gruppo 9 Destro Carlo 798286 1 2 3 4 5 6 7 8 9 10 11 12
  • 2. INDICE 1. SCTP, questo sconosciuto 2. Struttura dei pacchetti 3. Stati di un’associazione 4. INIT chunk 5. Multihoming 6. Path heartbeat 7. Multistreming 8. Flow congestion & flow control 9. Performance 10. Conclusioni S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 3. SCTP, QUESTO SCONOSCIUTO S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 4. SCTP, QUESTO SCONOSCIUTO S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 5. SCTP, QUESTO SCONOSCIUTO  23 novembre 1998 nasce SIGTRAN (SIGnalin TRANsport) S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 6. SCTP, QUESTO SCONOSCIUTO  23 novembre 1998 nasce SIGTRAN (SIGnalin TRANsport)  inizialmente MDTP, dopo 9 versioni diventa SCTP S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 7. SCTP, QUESTO SCONOSCIUTO  23 novembre 1998 nasce SIGTRAN (SIGnalin TRANsport)  inizialmente MDTP, dopo 9 versioni diventa SCTP  SCTP è un nuovo protocollo IP, allo stesso livello di UDP e TCP S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 8. SCTP, QUESTO SCONOSCIUTO  23 novembre 1998 nasce SIGTRAN (SIGnalin TRANsport)  inizialmente MDTP, dopo 9 versioni diventa SCTP  SCTP è un nuovo protocollo IP, allo stesso livello di UDP e TCP  come TCP offre un trasporto sicuro ed ordinato dei dati attraverso la rete S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 9. SCTP, QUESTO SCONOSCIUTO  23 novembre 1998 nasce SIGTRAN (SIGnalin TRANsport)  inizialmente MDTP, dopo 9 versioni diventa SCTP  SCTP è un nuovo protocollo IP, allo stesso livello di UDP e TCP  come TCP offre un trasporto sicuro ed ordinato dei dati attraverso la rete  diversamente da TCP garantisce alcune funzioni critiche per il trasporto di segnali telefonici (come la reattività e la persistenza di più canali di back-up) S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 10. STRUTTURA DEI PACCHETTI S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 11. STRUTTURA DEI PACCHETTI COMMON HEADER  compreso in ogni datagram  source port: per multiplexing dall’upper-user  destination port: per demultiplexing all’upper-user  verification tag: per confermare l’autenticità del sender  checksum: calcolato con Adler-32 per individuare datagram corrotti S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 12. STRUTTURA DEI PACCHETTI S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 13. STRUTTURA DEI PACCHETTI CHUNK  “vagone” che compone il “treno” datagram  chunk type: definisce come interpretare il contenuto del chunk  chunk flags: in base al chunk type passano dei parametri al receiver  chunk length: lunghezza complessiva del chunk  fixed fields: dati trasportati S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 14. STRUTTURA DEI PACCHETTI S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 15. STRUTTURA DEI PACCHETTI PARAMETER / CAUSE  type/code: definisce come interpretare i dati trasportati  length: lunghezza  value: dati trasportati S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 16. STATI DI UNA ASSOCIAZIONE S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 17. STATI DI UNA ASSOCIAZIONE ESTABLISHMENT (4-way handshake) S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 18. STATI DI UNA ASSOCIAZIONE ESTABLISHMENT (4-way handshake)  A richiede l’associazzione allegando il proprio VerificationTag (random) S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 19. STATI DI UNA ASSOCIAZIONE ESTABLISHMENT (4-way handshake)  A richiede l’associazzione allegando il proprio VerificationTag (random)  B risponde ripetendo il VerificationTag di A, generando il proprio VerificationTag e allegando un Cookie [hash(MAC), timestamp, lifespan e altre info per la connessione] S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 20. STATI DI UNA ASSOCIAZIONE ESTABLISHMENT (4-way handshake)  A richiede l’associazzione allegando il proprio VerificationTag (random)  B risponde ripetendo il VerificationTag di A, generando il proprio VerificationTag e allegando un Cookie [hash(MAC), timestamp, lifespan e altre info per la connessione]  A rimanda a B il Cookie [e può iniziare a spedire dati] S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 21. STATI DI UNA ASSOCIAZIONE ESTABLISHMENT (4-way handshake)  A richiede l’associazzione allegando il proprio VerificationTag (random)  B risponde ripetendo il VerificationTag di A, generando il proprio VerificationTag e allegando un Cookie [hash(MAC), timestamp, lifespan e altre info per la connessione]  A rimanda a B il Cookie [e può iniziare a spedire dati]  B controlla che il Cookie sia proprio quello che aveva generato poco prima; in caso di successo risponde con un Cookie- Ack [e può iniziare a spedire dati] S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 22. STATI DI UNA ASSOCIAZIONE SHUTDOWN (3-way) A B A invia il chunk SHUTDOWN e smette di  inviare dati B risponde con lo SHUTDOWN-ACK e smette  di inviare dati A risponde con lo SHUTDOWN-COMPLETION e cancella i dati relativi all’associazione  B cancella i dati relativi all’associazione  S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 23. INIT CHUNK S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 24. INIT CHUNK S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 25. INIT CHUNK INIT chunk attualmente nessun flag lunghezza chunk primo Verification Tag dell’associazione buffer minimo garantito per l’associazione numero di streams in entrata/uscita valore di partenza della SequenceNumber IPv4 disponibili nel sender IPv6 disponibili nel sender tipi di IP supportati (IPv4, IPv6, host) possibile sviluppo futuro di SCTP S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 26. MULTIHOMING S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 27. MULTIHOMING S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 28. MULTIHOMING Connection oriented  unica connessione S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 29. MULTIHOMING Connection oriented  unica connessione S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 30. MULTIHOMING Connection oriented  unica connessione Association oriented  multiple connessioni  IPv4 e IPv6  Fault Tolerance  Load Balancing [in futuro] S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 31. PATH HEARTBEAT S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 32. PATH HEARTBEAT ?? Come sapere se le connessioni di back-up sono ancora attive dopo l’Handshake?? S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 33. PATH HEARTBEAT ?? Come sapere se le connessioni di back-up sono ancora attive dopo l’Handshake?? Soluzione: le testo continuamente! S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 34. PATH HEARTBEAT ?? Come sapere se le connessioni di back-up sono ancora attive dopo l’Handshake?? Soluzione: le testo continuamente! HEARTBEAT chunk attualmente nessun flag lunghezza chunk } stato attuale dell’associazione timestamp S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 35. PATH HEARTBEAT ?? Come sapere se le connessioni di back-up sono ancora attive dopo l’Handshake?? Soluzione: le testo continuamente! HEARTBEAT chunk attualmente nessun flag lunghezza chunk } stato attuale dell’associazione timestamp Considerazioni  sfrutta timestamp per calcolare RTT e disponibilità del peer  definisce l’indirizzo non valido in base a HB.counter  tiene aggiornato l’upper-user sul numero di indirzzi di backup disponibili S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 36. MULTISTREAMING S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 37. MULTISTREAMING Una associazione N streams!  invio parallelo di dati  invio ordinato dei messaggi  invio non ordinato dei messaggi  no Head-of-Line blocking S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 38. MULTISTREAMING Una associazione N streams!  invio parallelo di dati  invio ordinato dei messaggi  invio non ordinato dei messaggi  no Head-of-Line blocking S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 39. MULTISTREAMING Una associazione N streams!  invio parallelo di dati  invio ordinato dei messaggi  invio non ordinato dei messaggi  no Head-of-Line blocking S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 40. FLOW CONGESTION & FLOW CONTROL S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 41. FLOW CONGESTION & FLOW CONTROL (Receiver Advertised Window) RWND (Congestion Control Window) CWND (Slow Start Threshold) SSTHRESH S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 42. FLOW CONGESTION & FLOW CONTROL (Receiver Advertised Window) RWND Slow Start Congestion Avoidance (Congestion Control Window) CWND Fast-Retrasmit on Gap Reports (Slow Start Threshold) SSTHRESH Fast-Recovery S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 43. FLOW CONGESTION & FLOW CONTROL (Receiver Advertised Window) RWND Slow Start Congestion Avoidance (Congestion Control Window) CWND Fast-Retrasmit on Gap Reports (Slow Start Threshold) SSTHRESH Fast-Recovery S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 44. FLOW CONGESTION & FLOW CONTROL (Receiver Advertised Window) RWND Slow Start Congestion Avoidance (Congestion Control Window) CWND Fast-Retrasmit on Gap Reports (Slow Start Threshold) SSTHRESH Fast-Recovery SACK chunk S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 45. FLOW CONGESTION & FLOW CONTROL (Receiver Advertised Window) RWND Slow Start Congestion Avoidance (Congestion Control Window) CWND Fast-Retrasmit on Gap Reports (Slow Start Threshold) SSTHRESH Fast-Recovery SACK chunk attualmente nessun flag S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 46. FLOW CONGESTION & FLOW CONTROL (Receiver Advertised Window) RWND Slow Start Congestion Avoidance (Congestion Control Window) CWND Fast-Retrasmit on Gap Reports (Slow Start Threshold) SSTHRESH Fast-Recovery SACK chunk attualmente nessun flag lunghezza chunk S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 47. FLOW CONGESTION & FLOW CONTROL (Receiver Advertised Window) RWND Slow Start Congestion Avoidance (Congestion Control Window) CWND Fast-Retrasmit on Gap Reports (Slow Start Threshold) SSTHRESH Fast-Recovery SACK chunk attualmente nessun flag lunghezza chunk ultimo byte ricevuto in ordine S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 48. FLOW CONGESTION & FLOW CONTROL (Receiver Advertised Window) RWND Slow Start Congestion Avoidance (Congestion Control Window) CWND Fast-Retrasmit on Gap Reports (Slow Start Threshold) SSTHRESH Fast-Recovery SACK chunk attualmente nessun flag lunghezza chunk ultimo byte ricevuto in ordine buffer minimo garantito per l’associazione S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 49. FLOW CONGESTION & FLOW CONTROL (Receiver Advertised Window) RWND Slow Start Congestion Avoidance (Congestion Control Window) CWND Fast-Retrasmit on Gap Reports (Slow Start Threshold) SSTHRESH Fast-Recovery SACK chunk attualmente nessun flag lunghezza chunk ultimo byte ricevuto in ordine buffer minimo garantito per l’associazione cardinalità S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 50. FLOW CONGESTION & FLOW CONTROL (Receiver Advertised Window) RWND Slow Start Congestion Avoidance (Congestion Control Window) CWND Fast-Retrasmit on Gap Reports (Slow Start Threshold) SSTHRESH Fast-Recovery SACK chunk attualmente nessun flag lunghezza chunk ultimo byte ricevuto in ordine buffer minimo garantito per l’associazione cardinalità dati non ancora ricevuti S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 51. FLOW CONGESTION & FLOW CONTROL (Receiver Advertised Window) RWND Slow Start Congestion Avoidance (Congestion Control Window) CWND Fast-Retrasmit on Gap Reports (Slow Start Threshold) SSTHRESH Fast-Recovery SACK chunk attualmente nessun flag lunghezza chunk ultimo byte ricevuto in ordine buffer minimo garantito per l’associazione cardinalità dati non ancora ricevuti TSN ricevuti più volte S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 52. PERFORMANCE S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 53. PERFORMANCE S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 54. PERFORMANCE S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 55. PERFORMANCE S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 56. PERFORMANCE Analisi  SCTP = 5% TCP bandwidth  Sebbene la banda di TCP cadesse per periodi lunghi, resta comunque più performante di STCP S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 57. PERFORMANCE Analisi  SCTP = 5% TCP bandwidth  Sebbene la banda di TCP cadesse per periodi lunghi, resta comunque più performante di STCP Possibili cause  SCTP è ancora un protocollo molto giovane se confrontato con TCP  si è lavorato molto sullo stack TCP di Linux  finora l’obiettivo principale per SCTP era renderlo completo e sicuro S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 58. CONCLUSIONI S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 59. CONCLUSIONI  SCTP si sta imponendo come terzo grande protocollo di trasporto assieme a TCP e UDP S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 60. CONCLUSIONI  SCTP si sta imponendo come terzo grande protocollo di trasporto assieme a TCP e UDP  non è ancora pronto per sostituire TCP, ma al momento è il miglior candidato per farlo S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 61. CONCLUSIONI  SCTP si sta imponendo come terzo grande protocollo di trasporto assieme a TCP e UDP  non è ancora pronto per sostituire TCP, ma al momento è il miglior candidato per farlo  la sua facile estensibilità lo rende velocemente adattabile a molti nuovi scenari S CT P 1 2 3 4 5 6 7 8 9 10 11 12
  • 62. CONCLUSIONI  SCTP si sta imponendo come terzo grande protocollo di trasporto assieme a TCP e UDP  non è ancora pronto per sostituire TCP, ma al momento è il miglior candidato per farlo  la sua facile estensibilità lo rende velocemente adattabile a molti nuovi scenari  SCTP è attualmente implementato nativamente su Linux, Solaris, FreeBSD, MAC OS X, IBM AIX, Cisco IOS, HP-UX e su sistemi NOKIA e SIEMENS. Disponibili diverse implementazioni open-source e proprietarie per la maggior parte dei sistemi operativi. S CT P 1 2 3 4 5 6 7 8 9 10 11 12