{"id":69,"date":"2001-10-13T00:00:00","date_gmt":"2001-10-12T22:00:00","guid":{"rendered":""},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T22:00:00","slug":"69","status":"publish","type":"post","link":"https:\/\/www.vialattea.net\/content\/69\/","title":{"rendered":"Di cosa si occupa esattamente il protocollo di rete TCP\/IP e quali sono le differenze sostanziali con il riferimento ISO\/OSI? esistono attualmente altri protocolli di rete dello stesso tipo?"},"content":{"rendered":"<p>Comincer\u00f2 col rispondere all&#8217;ultima parte della domanda. Esistono<br \/>\n        protocolli di rete diversi dal TCP\/IP, e fra questi si possono citare<br \/>\n        SNA (System Network Architecture) definito dalla IBM e alcune implementazioni<br \/>\n        dei protocolli OSI fra cui la pi\u00f9 matura \u00e8 sicuramente Decnet\/OSI<br \/>\n        della Digital Equipment. Va notato comunque che la diffusione del protocollo<br \/>\n        TCP\/IP dovuta al successo di Internet ha relegato tutti gli altri protocolli<br \/>\n        ad applicazioni di nicchia. <\/p>\n<p> La risposta alla parte principale della domanda richiederebbe uno spazio<br \/>\n        ed un livello di approfondimento assolutamente inadatti a queste pagine,<br \/>\n        mi limiter\u00f2 quindi a dare uno sguardo ali aspetti &#8220;funzionali&#8221;<br \/>\n        di TCP\/IP rimandando per i dettagli ai riferimenti in fondo alla pagina.\n      <\/p>\n<p> Si chiamano con il nome generico di TCP\/IP un insieme di protocolli<br \/>\n        che consentono lo scambio di dati fra due programmi in funzione su due<br \/>\n        computer diversi connessi da una rete di trasmissione dati.\n      <\/p>\n<p> Per descrivere le caratteristiche dei protocolli di trasmissione dati<br \/>\n        si utilizza universalmente un modello introdotto dall&#8217; <b>I<\/b>nternational<br \/>\n        <b>S<\/b>tandards <b>O<\/b>rganization e chiamato <b>O<\/b>pen-<b>S<\/b>ystems<br \/>\n        <b>I<\/b>nterconnection (Modello di interconnessione dei sistemi aperti),<br \/>\n        da cui la sigla ISO\/OSI. Il modello descrive le funzioni necessarie all&#8217;interconnessione<br \/>\n        di due sistemi mediante una gerarchia di sette livelli:\n      <\/p>\n<\/p>\n<blockquote>\n<table cellpadding=\"4\" border=\"3\" _moz_resizing=\"true\">\n<tbody>\n<tr>\n<td align=\"bottom\">\n              <center><br \/>\n                <b> Nome del livello<\/b><br \/>\n              <\/center>\n            <\/td>\n<td align=\"bottom\">\n              <center><br \/>\n                <b>Funzione<\/b><br \/>\n              <\/center>\n          <\/td>\n<\/tr>\n<tr>\n<td>1. Fisico\n            <\/td>\n<td> Descrive le modalit\u00e0 di trasmissione e ricezione dei segnali<br \/>\n              (elettrici, ottici) che trasportano le informazioni.\n          <\/td>\n<\/tr>\n<tr>\n<td>2. Data link\n            <\/td>\n<td>Descrive come viene controllato il flusso di dati fra due nodi<br \/>\n              intercomunicanti, le modalit\u00e0 di condivisione del mezzo trasmissivo<br \/>\n              da parte di pi\u00f9 utilizzatori, ecc.\n          <\/td>\n<\/tr>\n<tr>\n<td>3. Rete\n            <\/td>\n<td>Descrive le modalit\u00e0 di instradamento (Routing) ovvero<br \/>\n              specifica come avviene l&#8217;attraversamento delle reti interconnesse.\n          <\/td>\n<\/tr>\n<tr>\n<td>4. Trasporto\n            <\/td>\n<td>Comprende tutte le operazioni necessarie al corretto trasferimento<br \/>\n              dei dati dal nodo sorgente al nodo destinazione provvedendo al controllo<br \/>\n              degli errori, alla ritrasmissione in caso di errore, ecc.\n          <\/td>\n<\/tr>\n<tr>\n<td>5. Sessione\n            <\/td>\n<td>Controlla la connessione fra le due applicazioni intercomunicanti<br \/>\n              ovvero attiva e disattiva il canale virtuale di interconnessione<br \/>\n              fra i due programmi che si scambiano i dati.\n          <\/td>\n<\/tr>\n<tr>\n<td>6. Presentazione\n            <\/td>\n<td> Effettua la conversione dei protocolli, l&#8217;interpretazione dei<br \/>\n              dati su base sintattica, la cifratura e decifratura, ecc.\n          <\/td>\n<\/tr>\n<tr>\n<td>7. Applicazione\n            <\/td>\n<td>Descrive i protocolli al livello della particolare applicazione<br \/>\n              ossia stabilisce la struttura ed il significato dei messaggi che<br \/>\n              i due programmi intercomunicanti si scambiano.\n        <\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/blockquote>\n<p> Nell&#8217;interpretazione del modello si considera ciascun livello come un<br \/>\n        &#8220;servizio&#8221; fornito al livello superiore; il livello 7 del nodo che trasmette<br \/>\n        i dati interpreta le richieste dell&#8217;utilizzatore, prepara i dati necessari<br \/>\n        e li trasferisce al livello inferiore che a sua volta esegue la parte<br \/>\n        del compito che gli spetta e passa il risultato al livello ancora inferiore,<br \/>\n        e cos\u00ed via. Nel nodo ricevente si svolge il processo contrario.\n      <\/p>\n<p> I protocolli TCP\/IP id base, ovvero il protocollo TCP (Transfer Control<br \/>\n        Protocol) ed IP (Internet Protocol) definiscono le operazioni che sono<br \/>\n        comprese nei livelli da 3 a 5 nel modello ISO\/OSI. Ovvero consentono lo<br \/>\n        scambio di dati mediante un canale logico fra due programmi operanti su<br \/>\n        due nodi di una rete, ma non stabiliscono quale sia il significato dei<br \/>\n        dati trasmessi (compito dei livelli superiori) n\u00e9 specificano quali<br \/>\n        sono le caratteristiche delle linee fisiche di interconnessione (compito<br \/>\n        dei livelli inferiori).\n      <\/p>\n<p> Nella pratica comunque sotto il nome generico di TCP\/IP sono compresi<br \/>\n        per ragioni storiche anche alcuni protocolli dei livelli 6 e 7 (ad esempio:<br \/>\n        <b>SMTP<\/b> per lo scambio di posta elettronica, <b>ftp<\/b> per il trasferimento<br \/>\n        di files, etc.) ed un protocollo di livello 2 per l&#8217;accesso alla rete<br \/>\n        ethernet (<b>arp<\/b>). Altri protocolli sono invece nati successivamente<br \/>\n        e non si considerano parte della &#8220;suite&#8221; TCP\/IP (ad esempio il protocollo<br \/>\n        <b>http<\/b> per l&#8217;accesso alle pagine Web o il protocollo <b>SNMP<\/b><br \/>\n        per il controllo remoto delle apparecchiature di rete, ai livelli superiori,<br \/>\n        ed i protocolli <b>ppp<\/b> e <b>slip<\/b> al livello 2)\n      <\/p>\n<p> Per spiegare le funzioni descritte dai livelli del modello ISO\/OSI e<br \/>\n        l&#8217;implementazione effettuata dai protocolli TCP\/IP, mi servir\u00f2<br \/>\n        di un esempio. Supponiamo quindi di voler analizzare a livello di protocollo<br \/>\n        ci\u00f2 che avviene quando si invia un messaggio di posta elettronica<br \/>\n        dal proprio Personal Computer; ovvero quando, una volta composto un messaggio<br \/>\n        ed impostato l&#8217;indirizzo di destinazione, si impartisce il comando di<br \/>\n        &#8220;invio&#8221;.\n      <\/p>\n<p> Il PC \u00e8 collegato ad un provider tramite modem su linea telefonica<br \/>\n        ed il messaggio si suppone diretto ad un corrispondente che ha una &#8220;casella<br \/>\n        di posta&#8221; presso lo stesso provider. Per semplicit\u00e0 supporremo<br \/>\n        che fra il PC ed il server che mantiene la &#8220;mailbox&#8221; del destinatario<br \/>\n        ci sia un solo router, mentre nella realt\u00e0 il messaggio pu\u00f2<br \/>\n        attraversare parecchi router prima di arrivare a destinazione.\n      <\/p>\n<p> <a href=\"..\/..\/esperti\/inform\/tcpip\/tcpip.gif\"><img loading=\"lazy\" decoding=\"async\" width=\"160\" height=\"127\" border=\"1\" align=\"left\" src=\"..\/..\/esperti\/inform\/tcpip\/tcpip-t.gif\" alt=\"\"\/><\/a>La<br \/>\n        situazione descritta \u00e8 schematizzata nella seguente figura qui<br \/>\n        a fianco (ingrandisci con un click).\n      <\/p>\n<p>Perch\u00e9 il messaggio possa essere correttamente inviato e ricevuto<br \/>\n        il programma di invio e quello di ricezione devono concordare un linguaggio<br \/>\n        comune (protocollo) per descrivere tutte le caratteristiche del messaggio.<br \/>\n        Questa funzione si colloca al livello 7 e, nel caso particolare della<br \/>\n        posta elettronica, utilizza il protocollo SMTP.\n      <\/p>\n<p> In questo esempio il livello 6 non interviene, quindi il messaggio viene<br \/>\n        passato al livello 5, il quale ha il compito di aprire una connessione<br \/>\n        con il nodo di rete che deve ricevere il messaggio e con il particolare<br \/>\n        programma che e&#8217; in grado di comprenderne il contenuto.\n      <\/p>\n<p> Interviene poi il livello 4 che ha il compito di trasferire in modo<br \/>\n        corretto la sequenza di dati che compongono il messaggio al nodo destinazione.<br \/>\n        Si noti che il software ai livelli 5 e 4 non ha nessuna conoscenza del<br \/>\n        contenuto del messaggio, ma ha il solo compito che venga consegnato intatto<br \/>\n        al nodo di destinazione. La porzione TCP del protocollo svolge essenzialmente<br \/>\n        le funzioni dei livelli 4 e 5.\n      <\/p>\n<p> Il messaggio a questo punto passa al livello 3 che ha il compito di<br \/>\n        individuare quale \u00e8 il nodo adiacente nel cammino per raggiungere<br \/>\n        la destinazione e di trasferire il messaggio a tale nodo utilizzando i<br \/>\n        servizi del livello 2. I servizi di livello 3 sono implementati dalla<br \/>\n        porzione IP del protocollo TCP\/IP.\n      <\/p>\n<p> Nel nostro esempio al livello 2 dobbiamo considerare due casi: l&#8217;interconnessione<br \/>\n        fra il PC ed il router del provider e l&#8217;interconnessione fra il router<br \/>\n        ed il server di posta di destinazione, attraverso la LAN del provider.<br \/>\n        Nel primo caso i servizi del livello 2 sono svolti da un ulteriore protocollo<br \/>\n        il PPP (Point To Point Protocol), che consente il trasferimento di una<br \/>\n        sequenza di dati lungo la linea telefonica; nel secondo caso dal protocollo<br \/>\n        &#8220;Ethernet&#8221; implementato all&#8217;interno delle schede di rete del router e<br \/>\n        del server di posta.\n      <\/p>\n<p> Al livello 1 si collocano infine l&#8217;interfaccia hardware verso la linea<br \/>\n        telefonica ovvero l&#8217;insieme delle due schede modem e della rete telefonica<br \/>\n        che le interconnette, nel caso del collegamento fra PC utente e router<br \/>\n        di ingresso del provider e la circuiteria delle schede di rete con i relativi<br \/>\n        cablaggi di interconnessione nel collegamento LAN presso il provider.\n      <\/p>\n<p> Quando il messaggio viene ricevuto attraversa i livelli pi\u00f9 bassi<br \/>\n        e viene quindi viene passato al livello 3 (IP) dove viene verificato se<br \/>\n        si tratta del nodo finale oppure se il messaggio deve essere ritrasmesso<br \/>\n        verso un nodo successivo. Nel nostro esempio quando il router riceve il<br \/>\n        messaggio dovr\u00e0 ritrasmetterlo sulla LAN utilizzando l&#8217;appropriato<br \/>\n        protocollo di livello 2 che a sua volta utilizza la relativa interfaccia<br \/>\n        di trasmissione.\n      <\/p>\n<p> Quando invece il messaggio raggiunge il server e raggiunge il livello<br \/>\n        3 viene passato al livello superiore per effettuare i controlli di validit\u00e0<br \/>\n        e, per passi successivi, raggiunge il programma di livello 7, dove il<br \/>\n        messaggio che segue le direttive del protocollo SMTP, viene finalmente<br \/>\n        interpretato e collocato nella &#8220;casella postale&#8221; del destinatario, che<br \/>\n        non \u00e8 altro che un file al quale vengono via via accodati i messaggi<br \/>\n        in arrivo.\n      <\/p>\n<\/p>\n<h2>Riferimenti<\/h2>\n<p>Quanto detto fino a qui dovrebbe essere sufficiente a dare un&#8217;idea del<br \/>\n        funzionamento del prtocollo TCP\/IP, ma trascura una gran quatit\u00e0<br \/>\n        di dettagli che non possono essere trattati in modo sintetico. <\/p>\n<p> Una descrizione un po&#8217; pi\u00f9 dettagliata pu\u00f2 essere trovata<br \/>\n        nelle seguenti pagine Web:<\/p>\n<\/p>\n<ul>\n<li>\n<p><a target=\"_blank\" href=\"http:\/\/www.itp-journals.com\/OSI_7_layer_model_page1.htm\"><br \/>\n            http:\/\/www.itp-journals.com\/OSI_7_layer_model_page1.htm<\/a>\n          <\/p>\n<\/li>\n<li>\n<p><a target=\"_blank\" href=\"http:\/\/www.itp-journals.com\/TCP_IP_tutorial_page1.htm\"><br \/>\n            http:\/\/www.itp-journals.com\/TCP_IP_tutorial_page1.htm<\/a>\n          <\/p>\n<\/li>\n<li>\n<p><a target=\"_blank\" href=\"http:\/\/oac3.hsc.uth.tmc.edu\/staff\/snewton\/tcp-tutorial\/\"><br \/>\n            http:\/\/oac3.hsc.uth.tmc.edu\/staff\/snewton\/tcp-tutorial\/<\/a>\n          <\/p>\n<\/li>\n<li>\n<p><a target=\"_blank\" href=\"http:\/\/www.cis.ohio-state.edu\/cgi-bin\/rfc\/rfc1180.html\"><br \/>\n            http:\/\/www.cis.ohio-state.edu\/cgi-bin\/rfc\/rfc1180.html<\/a>\n          <\/p>\n<\/li>\n<\/ul>\n<p> Mentre per una trattazione completa al massimo livello tecnico rimando<br \/>\n        ai tre volumi: <\/p>\n<\/p>\n<ul>\n<li>\n<p>D.E. Comer, &#8220;Internetworking with tcp\/ip&#8221;. Englewood Cliffs: Prentice-Hall,<br \/>\n            1988. <\/p>\n<\/li>\n<li>\n<p>D.E. Comer, D.L. Stevens, &#8220;Internetworking with tcp\/ip vol.II: design,<br \/>\n            implementation and internals&#8221;. Englewood Cliffs: Prentice-Hall, 1991\n          <\/p>\n<\/li>\n<li>\n<p>D.E. Comer, D.L. Stevens, &#8220;Internetworking with tcp\/ip. vol.III:<br \/>\n            client server programming and applications&#8221;. Englewood Cliffs: Prentice-Hall,<br \/>\n            1988 <\/p>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>[&#8230;]<\/p>\n","protected":false},"author":198,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[60],"tags":[],"class_list":["post-69","post","type-post","status-publish","format-standard","hentry","category-domande-varie-informatica-e-telecomunicazioni"],"_links":{"self":[{"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/posts\/69","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/users\/198"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/comments?post=69"}],"version-history":[{"count":0,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/posts\/69\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/media?parent=69"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/categories?post=69"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/tags?post=69"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}