{"id":823,"date":"2021-08-03T00:02:11","date_gmt":"2021-08-02T22:02:11","guid":{"rendered":"https:\/\/il-mio-ip.it\/?page_id=823"},"modified":"2021-08-03T11:13:14","modified_gmt":"2021-08-03T09:13:14","slug":"caratteristiche-generali-di-ipv4","status":"publish","type":"page","link":"https:\/\/il-mio-ip.it\/?page_id=823","title":{"rendered":"Caratteristiche generali di IPv4"},"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\">Caratteristiche generali di IPv4<\/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>Caratteristiche generali di IPv4<\/strong><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">IPv4 \u00e8 di fatto il protocollo fondamentale del livello Network, ed \u00e8 un servizio a pacchetto di tipo connectionless\/datagram, e quindi \u00e8 un servizio non affidabile, detto anche \u201cbest effort\u201d. Le sue funzioni fondamentali sono le seguenti:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Incapsulamento<\/strong>: in fase di invio, i dati che arrivano dal livello Transport vengono incapsulati i pacchetti contenenti i dati da trasmettere e diversi altri campi con delle informazioni aggiuntive;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Addressing<\/strong>: il protocollo IP fornisce un indirizzo univoco ad ogni host della rete;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Routing<\/strong>: garantisce l\u2019instradamento dei pacchetti;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Decapsulamento<\/strong>: in fase di ricezione, i pacchetti ricevuti vengono decapsulati, quindi vengono rimosse le intestazioni aggiuntive e i dati vengono passati al livello superiore (il TCP);<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"512\" src=\"https:\/\/il-mio-ip.it\/wp-content\/uploads\/2021\/08\/17-incapsulamento-decapsulamento-end-to-end-dataflow-1024x512.png\" alt=\"Figura 17: Incapsulamento e Decapsulamento\" class=\"wp-image-778\" srcset=\"https:\/\/il-mio-ip.it\/wp-content\/uploads\/2021\/08\/17-incapsulamento-decapsulamento-end-to-end-dataflow-1024x512.png 1024w, https:\/\/il-mio-ip.it\/wp-content\/uploads\/2021\/08\/17-incapsulamento-decapsulamento-end-to-end-dataflow-300x150.png 300w, https:\/\/il-mio-ip.it\/wp-content\/uploads\/2021\/08\/17-incapsulamento-decapsulamento-end-to-end-dataflow-768x384.png 768w, https:\/\/il-mio-ip.it\/wp-content\/uploads\/2021\/08\/17-incapsulamento-decapsulamento-end-to-end-dataflow.png 1512w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption><strong><em>Figura 17: Incapsulamento e Decapsulamento<\/em><\/strong><\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Differenze tra Datagram e servizio Connection Oriented<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nel servizio Datagram ogni pacchetto attraversa la rete indipendentemente dagli altri, eventualmente anche su un percorso diverso. \u00c8 possibile che la consegna dei pacchetti al destinatario avvenga fuori ordine. La gestione delle risorse (ad esempio la banda) \u00e8 complessa. Si tratta tuttavia di un protocollo robusto, ovvero in grado di adattarsi in maniera naturale a cambiamento di traffico e a modifiche nella topologia della rete (ad es. gusti). \u00c8 adatto al traffico dati di tipo \u201cbursty\u201d. Di contro diventa problematico quando si vogliono realizzare servizi carrier grade, dove \u00e8 richiesta elevata qualit\u00e0 del servizio e recupero veloce dei guasti.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Frammentazione e Riassemblaggio<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La frammentazione diventa indispensabile quando i link hanno MTU (Maximum Transmission Unit) diverse. I router provvedono quindi ad effettuare la frammentazione dei pacchetti, aggiungendo un Header con delle informazioni.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ogni frammento avr\u00e0 un\u2019intestazione quasi uguale a quella originale. I frammenti possono arrivare a destinazione fuori ordine e pu\u00f2 essere complesso effettuarne il riassemblaggio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Alla destinazione finale, oppure attraverso un router intermedio, avviene il riassemblaggio. Alla ricezione del primo frammento di un pacchetto viene attivato un timer. I frammenti dello stesso pacchetto avranno lo stesso identifier. Se non si finisce entro lo scadere del timer, tutto viene scartato.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La figura che segue mostra l&#8217;anatomia dettagliata del pacchetto IP, compreso il suo header.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"559\" src=\"https:\/\/il-mio-ip.it\/wp-content\/uploads\/2021\/08\/19-pacchetto-IP-1024x559.png\" alt=\"Figura 19: Pacchetto IP\" class=\"wp-image-827\" srcset=\"https:\/\/il-mio-ip.it\/wp-content\/uploads\/2021\/08\/19-pacchetto-IP-1024x559.png 1024w, https:\/\/il-mio-ip.it\/wp-content\/uploads\/2021\/08\/19-pacchetto-IP-300x164.png 300w, https:\/\/il-mio-ip.it\/wp-content\/uploads\/2021\/08\/19-pacchetto-IP-768x419.png 768w, https:\/\/il-mio-ip.it\/wp-content\/uploads\/2021\/08\/19-pacchetto-IP.png 1134w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption><em><strong>Figura 19: Pacchetto IP<\/strong><\/em><\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Vediamo il significato dei vari campi dell\u2019header:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Version [4 bit]<\/strong>: indica la versione del pacchetto IP, in questo caso si tratta della versione 4 (IPv4).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>IHL (Internet Header Length) [4 bit]<\/strong>: Indica la lunghezza (in parole da 32 bit) dell&#8217;header del pacchetto IP, ovvero la lunghezza dell&#8217;offset del campo dati. Tale lunghezza pu\u00f2 variare da un minimo di 5 parole, ovvero 20 byte, fino ad un massimo di 15 parole, corrispondenti a 60 byte.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>TOS &#8211; Type of Service (Tipo di Servizio) [8 bit]<\/strong>: Nelle specifiche iniziali del protocollo, definite da RFC 791, questi bit servivano all&#8217;host mittente per specificare il modo e la precedenza con cui l&#8217;host di destinazione doveva trattare il datagramma, secondo il seguente schema:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>bit 0-2: Precedenza;<\/li><li>bit 3: Latenza (0 = normale, 1 = bassa);<\/li><li>bit 4: Throughput (0 = normale, 1 = alto);<\/li><li>bit 5: Affidabilit\u00e0 (0 = normale, 1 = alta);<\/li><li>bit 6-7: Riservati per usi futuri;<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ad esempio, un host poteva scegliere di lavorare con una bassa latenza, mentre un altro poteva privilegiare un\u2019elevata affidabilit\u00e0. Nella pratica l\u2019uso del campo TOS non ha ha avuto molto successo, e di fatto questo campo viene ignorato dai router. Dopo molte sperimentazioni e ricerche, recentemente questi 8 bit sono stati ridefiniti ed hanno la funzione di Differentiated services (DiffServ) nell&#8217;IETF e Explicit Congestion Notification (ECN) codepoints (nella specifica RFC 3168), necessari per le nuove tecnologie basate sullo streaming dei dati in tempo reale, come per esempio il Voice over IP (VoIP) usato per lo scambio interattivo dei dati vocali.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Total Length (Lunghezza Totale) [16 bit]<\/strong>: Indica la dimensione (in byte) dell&#8217;intero pacchetto, compreso sia l\u2019header che i dati. Tale lunghezza pu\u00f2 variare da un minimo di 20 byte (header minimo e campo dati vuoto) ad un massimo di 65535 byte. In ogni momento, ad ogni host \u00e8 richiesto di essere in grado di gestire datagrammi aventi una dimensione minima di 576 byte mentre sono autorizzati, se necessario, a frammentare datagrammi di dimensione maggiore.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>ID &#8211; Identification Datagram [16 bit]<\/strong>: questo campo \u00e8 utilizzato per identificare in modo univoco i vari frammenti in cui pu\u00f2 essere stato &#8220;spezzato&#8221; un pacchetto IP: ogni frammento di uno stesso pacchetto avr\u00e0 infatti il medesimo ID. Alcune sperimentazioni successive hanno per\u00f2 suggerito di utilizzare questo campo per altri scopi, come aggiungere la funzionalit\u00e0 di tracciamento dei pacchetti.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Flags [3 bit]<\/strong>: questo campo \u00e8 utilizzato per il controllo del protocollo e della frammentazione dei datagrammi. Pu\u00f2 assumere i seguenti valori:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Reserved:<\/strong> questo campo \u00e8 sempre settato a 0 ed \u00e8 riservato per eventuali usi futuri;<\/li><li><strong>DF (Don&#8217;t Fragment)<\/strong>: se settato a 1 indica che il pacchetto non deve essere frammentato; se tale pacchetto non pu\u00f2 essere inoltrato da un host senza essere frammentato allora verr\u00e0 scartato. Questo pu\u00f2 risultare utile per &#8220;ispezionare&#8221; la capacit\u00e0 di gestione dei vari host del percorso di routing;<\/li><li><strong>MF (More Fragments)<\/strong>: se settato a 0 indica che il pacchetto \u00e8 l&#8217;ultimo frammento o il solo frammento del pacchetto originario, pertanto tutti gli altri suoi frammenti hanno il bit MF settato a 1. Naturalmente, questo bit sar\u00e0 sempre 0 anche in tutti i datagrammi che non sono stati frammentati.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Fragment Office (Offset di frammentazione) [13 bit]<\/strong>: questo campo indica l&#8217;offset (misurato in blocchi di 8 byte) di un particolare frammento relativamente all&#8217;inizio del pacchetto IP originale: il primo frammento ha offset 0. L&#8217;offset massimo risulta pertanto pari a (213-1)x8=65528 byte che, includendo l&#8217;header, potrebbe eccedere la dimensione massima di 65535 byte di un pacchetto IP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>TTL &#8211; Time to live [8 bit]<\/strong>: Indica il tempo di vita (time to live) del pacchetto. Questo parametro \u00e8&nbsp; necessario per evitare la persistenza indefinita sulla rete di un pacchetto nel caso in cui non si riesca a recapitarlo correttamente al destinatario. Storicamente il TTL misurava i &#8220;secondi di vita&#8221; del pacchetto, mentre ora esso misura il numero di &#8220;salti&#8221; da nodo a nodo della rete: ogni router che riceve il pacchetto prima di inoltrarlo ne decrementa il TTL (modificando di conseguenza anche il campo Header Checksum): quando questo arriva a zero il pacchetto non viene pi\u00f9 inoltrato ma scartato. Tipicamente, quando un pacchetto viene scartato per esaurimento del TTL, viene automaticamente inviato un messaggio ICMP al mittente del pacchetto, specificando il codice di richiesta scaduta; la ricezione di questo messaggio ICMP \u00e8 alla base del meccanismo di traceroute.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Protocol [8 bit]<\/strong>: questo campo indica il codice associato al protocollo utilizzato nel campo dati del pacchetto IP: per esempio al protocollo TCP \u00e8 associato il codice 6, ad UDP il codice 17, mentre ad IPv6 \u00e8 associato il codice 41. La lista dei codici dei vari protocolli, inizialmente definita in RFC 790, \u00e8 mantenuta e gestita dalla Internet Assigned Numbers Authority.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Header Checksum [16 bit]<\/strong>: questo campo \u00e8 usato per il controllo degli errori dell&#8217;header. Ad ogni passaggio, il checksum viene ricalcolato (secondo la definizione data in RFC 791) e confrontato con il valore di questo campo: se il valore corrisponde allora il pacchetto viene inoltrato, in caso contrario invece viene scartato. \u00c8 da notare che il checksum non effettua alcun controllo sulla presenza di errori nel campo Dati, delegando tale funzione ai livelli superiori.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Source IP-Address [32 bit]<\/strong>: questo \u00e8 l&#8217;indirizzo IP associato all&#8217;host del mittente del pacchetto. Notiamo che questo indirizzo potrebbe non essere quello del &#8220;vero&#8221; mittente nel caso di traduzioni mediante NAT (Network Address Translation). Infatti, qualora un host intermedio effettui questa traduzione, allora esso provveder\u00e0 a sostituire l&#8217;indirizzo del mittente con uno proprio, mentre effettuer\u00e0 l\u2019operazione inversa, ovvero provveder\u00e0 a ripristinare l&#8217;indirizzo originario, in tutti i messaggi di risposta che gli arrivano destinati al mittente originario.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Destination IP-Address [32 bit]<\/strong>: questo campo indica l&#8217;indirizzo IP associato all&#8217;host del destinatario del pacchetto e segue le medesime regole del campo precedente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Options e Padding<\/strong>: si tratta per l\u2019appunto di opzioni, dall\u2019uso facoltativo, impiegate raramente e per lo pi\u00f9 per usi specifici del protocollo, come informazioni sui router.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Dati<\/strong>: il pacchetto dati vero e proprio che deve essere trasmesso al destinatario.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">(*) IETF, ovvero Internet Engineering Task Force, \u00e8 un organismo internazionale formato da tecnici, specialisti e ricercatori che si occupano dell&#8217;evoluzione tecnica e tecnologica di Internet. L\u2019organismo si occupa di sviluppare e promuovere standard Internet, in stretta cooperazione con il World Wide Web Consortium e ISO\/IEC, e cura in particolare i protocolli dello stack TCP\/IP.<\/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\/internet-protocol-ipv4\/\" data-type=\"page\" data-id=\"820\">&lt;&lt; Internet Protocol \u2013 IPv4<\/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\/struttura-degli-indirizzi-ip\/\" data-type=\"page\" data-id=\"829\">Struttura degli indirizzi IP &gt;&gt;<\/a><\/h3>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Caratteristiche generali di IPv4 IPv4 \u00e8 di fatto il protocollo fondamentale del livello Network, ed \u00e8 un servizio a pacchetto di tipo connectionless\/datagram, e quindi \u00e8 un servizio non affidabile, detto anche \u201cbest effort\u201d. Le sue funzioni fondamentali sono le seguenti: Incapsulamento: in fase di invio, i dati che arrivano dal livello Transport vengono incapsulati [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":647,"menu_order":30,"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-823","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>Caratteristiche generali di IPv4 Caratteristiche generali di IPv4 IPv4 \u00e8 di fatto il protocollo fondamentale del livello Network, ed \u00e8 un servizio a pacchetto di tipo connectionless\/datagram, e quindi \u00e8 un servizio non affidabile, detto anche \u201cbest effort\u201d. Le sue funzioni fondamentali sono le seguenti: Incapsulamento: in fase di invio, i dati che arrivano dal livello Transport vengono incapsulati i pacchetti contenenti i dati da trasmettere e diversi altri campi con delle informazioni aggiuntive; Addressing: il protocollo IP fornisce un indirizzo univoco ad ogni host della rete; Routing: garantisce l\u2019instradamento dei pacchetti; Decapsulamento: in fase di ricezione, i pacchetti ricevuti&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\/823","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=823"}],"version-history":[{"count":7,"href":"https:\/\/il-mio-ip.it\/index.php?rest_route=\/wp\/v2\/pages\/823\/revisions"}],"predecessor-version":[{"id":910,"href":"https:\/\/il-mio-ip.it\/index.php?rest_route=\/wp\/v2\/pages\/823\/revisions\/910"}],"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=823"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/il-mio-ip.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=823"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/il-mio-ip.it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=823"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}