{"id":963,"date":"2021-08-03T11:53:09","date_gmt":"2021-08-03T09:53:09","guid":{"rendered":"https:\/\/il-mio-ip.it\/?page_id=963"},"modified":"2021-08-03T22:35:05","modified_gmt":"2021-08-03T20:35:05","slug":"i-timer-del-protocollo-tcp","status":"publish","type":"page","link":"https:\/\/il-mio-ip.it\/?page_id=963","title":{"rendered":"I timer del protocollo TCP"},"content":{"rendered":"\n<div class=\"wp-block-cover alignfull has-background-dim has-parallax has-background-gradient\" style=\"background-image:url(https:\/\/il-mio-ip.it\/wp-content\/uploads\/2021\/08\/servizi.jpg);min-height:380px;aspect-ratio:unset;\"><span aria-hidden=\"true\" class=\"wp-block-cover__gradient-background\" style=\"background:linear-gradient(100deg,rgb(21,50,67) 0%,rgb(26,108,122) 100%)\"><\/span><div class=\"wp-block-cover__inner-container is-layout-flow wp-block-cover-is-layout-flow\">\n<h1 class=\"has-text-align-center has-white-color has-text-color wp-block-heading\"><strong><strong>I timer del protocollo TCP<\/strong><\/strong><\/h1>\n<\/div><\/div>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span style=\"color: #0693e3;\" class=\"ugb-highlight\"><strong><strong><strong><strong>I timer del protocollo TCP<\/strong><\/strong><\/strong><\/strong><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Il protocollo TCP prevede l\u2019impiego di diversi timer, atti a controllare la qualit\u00e0 della trasmissione, e sulla base dei quali si effettuano determinate azioni mirate ad effettuare nuove trasmissioni o l\u2019interruzione della connessione. I timer utilizzati sono i seguenti:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Timer di ritrasmissione<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Questo timer serve a verificare che ogni segmento trasmesso venga riscontrato dalla sorgente tramite il relativo Ack inviato dall\u2019host mittente. Si tratta forse di uno dei timer pi\u00f9 importanti, dato che l\u2019impostazione del suo corretto valore \u00e8 fondamentale in termini di efficienza della rete. Un valore troppo basso, infatti, causerebbe numerose ed inutili ritrasmissioni dei pacchetti, dato che il timer ad esempio potrebbe scattare quando il pacchetto \u00e8 ancora in transito e quindi inutilmente. Di converso un valore troppo elevato pu\u00f2 comportare attese lunghe per il completamento della trasmissione in caso di perdita di pacchetti. L\u2019intervallo del Timer di ritrasmissione deve quindi essere pari almeno al&nbsp; valore del Round Trip Time, ovvero il&nbsp; valore&nbsp; che indica il tempo di percorrenza a due vie di un pacchetto, dato che all\u2019andata verr\u00e0 trasmesso il pacchetto vero e proprio, e al ritorno sar\u00e0 necessario aspettare l\u2019ack da parte del destinatario. L\u2019intervallo di tale timer, tuttavia, pu\u00f2 variare in maniera molto aleatoria all\u2019interno di una rete, per&nbsp; via della natura della commutazione di pacchetto che rende spesso imprevedibile conoscere con esattezza i tempi di trasmissione. Il protocollo TCP adotta quindi una strategia che prevede di aggiornare frequentemente il valore di questo timer basandosi su una stima del valore medio del Round Trip Time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Timer di persistenza<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Come abbiamo visto il protocollo TCP utilizza il sistema delle finestre per gestire il controllo di flusso dei dati che il destinatario \u00e8 in grado di accettare dal mittente, fatti salvi i problemi di Silly Window. Se il campo Window viene settato a zero, ci\u00f2 significa che il destinatario sta chiedendo una momentanea interruzione dell\u2019invio dati da parte del mittente. \u00c8 tuttavia necessario prevedere un meccanismo che sblocchi l\u2019invio dati nel caso in cui il segnale che il destinatario \u00e8 di nuovo pronta vada perso, dal momento che il quel caso il mittente potrebbe restare in attesa del destinatario a tempo indeterminato. Questo problema si risolve nel protocollo TCP grazie ad un apposito Timer, ovvero al timer di persistenza. Questo timer stabilisce un valore di tempo scaduto il quale il mittente, che nel frattempo \u00e8 in attesa dell\u2019autorizzazione del destinatario all\u2019invio dei dati, invia autonomamente un pacchetto sonda al destinatario per sollecitarne la risposta. In questo modo il mittente \u00e8 sicuro che la finestra del destinatario sia ancora chiusa realmente (in tal caso, infatti, ricever\u00e0 un nuovo pacchetto Window settato a 0) e non che il pacchetto con campo Window aperto sia andato perso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Timer di keepalive<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Questo timer nasce per gestire l\u2019eventualit\u00e0, di base non prevista in TCP, di quali azioni intraprendere quando in una connession per un certo periodo non ci sono dati da trasmettere. Alcune implementazioni del protocollo prevedono di trasmettere periodicamente dei segmenti vuoti, detti keepalive (tieni in vita), inviati allo scopo di tenere attiva la connessione tra due host. Questo approccio tipicamente \u00e8 deciso dai software che si scambiano i dati, che possono decidere per svariati motivi di tenere attiva la connessione anzich\u00e9 terminarla. In queste circostanze esiste quindi un apposito timer, quindi il timer di keepalive, che determina l\u2019intervallo di tempo che deve trascorrere tra l\u2019invio di un messaggio di keepalive e l\u2019altro. Se scaduto il tempo non si riceve nessun altro messaggio, allora la connessione verr\u00e0 chiusa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Timed wait<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Questo timer misura il tempo di attesa, ovvero il tempo che deve trascorrere dall\u2019invio dell\u2019ultimo messaggio prima che la connessione venga definitivamente chiusa.<\/p>\n\n\n\n<div class=\"wp-block-group alignfull has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"background-color:#f3f9fb\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/il-mio-ip.it\/guida-al-networking\/affidabilita-della-comunicazione\/\" data-type=\"page\" data-id=\"960\">&lt;&lt; <strong><strong>Affidabilit\u00e0 della comunicazione<\/strong><\/strong><\/a><\/h3>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h3 class=\"has-text-align-right wp-block-heading\"><a href=\"https:\/\/il-mio-ip.it\/guida-al-networking\/sicurezza-e-vulnerabilita-del-protocollo-tcp\/\" data-type=\"page\" data-id=\"966\"><strong><strong><strong><strong><strong>Sicurezza e Vulnerabilit\u00e0 del protocollo TCP<\/strong><\/strong><\/strong><\/strong><\/strong> >><\/a><\/h3>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>I timer del protocollo TCP Il protocollo TCP prevede l\u2019impiego di diversi timer, atti a controllare la qualit\u00e0 della trasmissione, e sulla base dei quali si effettuano determinate azioni mirate ad effettuare nuove trasmissioni o l\u2019interruzione della connessione. I timer utilizzati sono i seguenti: Timer di ritrasmissione Questo timer serve a verificare che ogni segmento [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":647,"menu_order":47,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"right-sidebar","site-content-layout":"plain-container","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"enabled","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[10],"tags":[],"class_list":["post-963","page","type-page","status-publish","hentry","category-guida-al-networking"],"featured_image_urls_v2":{"full":"","thumbnail":"","medium":"","medium_large":"","large":"","1536x1536":"","2048x2048":""},"post_excerpt_stackable_v2":"<p>I timer del protocollo TCP I timer del protocollo TCP Il protocollo TCP prevede l\u2019impiego di diversi timer, atti a controllare la qualit\u00e0 della trasmissione, e sulla base dei quali si effettuano determinate azioni mirate ad effettuare nuove trasmissioni o l\u2019interruzione della connessione. I timer utilizzati sono i seguenti: Timer di ritrasmissione Questo timer serve a verificare che ogni segmento trasmesso venga riscontrato dalla sorgente tramite il relativo Ack inviato dall\u2019host mittente. Si tratta forse di uno dei timer pi\u00f9 importanti, dato che l\u2019impostazione del suo corretto valore \u00e8 fondamentale in termini di efficienza della rete. Un valore troppo basso,&hellip;<\/p>\n","category_list_v2":"<a href=\"https:\/\/il-mio-ip.it\/?cat=10\" rel=\"category\">Guida al Networking<\/a>","author_info_v2":{"name":"admin","url":"https:\/\/il-mio-ip.it\/?author=1"},"comments_num_v2":"0 commenti","_links":{"self":[{"href":"https:\/\/il-mio-ip.it\/index.php?rest_route=\/wp\/v2\/pages\/963","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/il-mio-ip.it\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/il-mio-ip.it\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/il-mio-ip.it\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/il-mio-ip.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=963"}],"version-history":[{"count":3,"href":"https:\/\/il-mio-ip.it\/index.php?rest_route=\/wp\/v2\/pages\/963\/revisions"}],"predecessor-version":[{"id":979,"href":"https:\/\/il-mio-ip.it\/index.php?rest_route=\/wp\/v2\/pages\/963\/revisions\/979"}],"up":[{"embeddable":true,"href":"https:\/\/il-mio-ip.it\/index.php?rest_route=\/wp\/v2\/pages\/647"}],"wp:attachment":[{"href":"https:\/\/il-mio-ip.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=963"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/il-mio-ip.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=963"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/il-mio-ip.it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=963"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}