Cos’è TCP/IP e come funziona

0
131
TCP/IP

In una rete, i dispositivi devono comunicare. Per questo sono emersi protocolli e modelli di comunicazione per loro. Tra questi, c’è il  modello TCP/IP  . Il nome deriva da due dei suoi protocolli,  TCP  e  IP  .

In parole povere, si può dire che il protocollo è il “linguaggio” che le apparecchiature collegate in rete usano per comunicare. In questo modo, apparecchiature di diverse tecnologie, produttori e scopi possono capirsi.

Senza protocolli di comunicazione standardizzati, sarebbe difficile, ad esempio, l’esistenza di una rete mondiale come Internet.

Per standardizzare la creazione di protocolli, il modello OSI (Open Systems Interconnection) è stato creato nel 1971 e formalizzato nel 1983. Questo modello definisce un’architettura di protocollo per le reti. Con esso, diversi produttori possono produrre le proprie apparecchiature per comunicare, interpretare le informazioni contenute nella comunicazione ed eseguire il compito richiesto.

Il modello OSI prevede che una rete debba avere 7 strati:

Applicazione  : funzioni specializzate a livello di applicazione

Presentazione  – Formattazione dei dati e conversione di caratteri e codici

Sessione  – Negoziazione e creazione della connessione con un altro nodo

Trasporto  : mezzi e metodi per fornire dati end-to-end

Rete  : instradamento di pacchetti su una o più reti

Link  – Rilevamento e correzione degli errori introdotti dal mezzo trasmissivo

Fisico  : trasmissione di bit attraverso il mezzo di trasmissione

TCP/IP

TCP/IP è un insieme di protocolli di comunicazione. Il nome deriva da due protocolli TCP (Transmission Control Protocol) e IP (Internet Protocol). Mira a standardizzare tutte le comunicazioni di rete, in particolare le comunicazioni web.

Questo modello è stato sviluppato nel 1969 dal Dipartimento della Difesa degli Stati Uniti come risorsa di comunicazione per ARPANET, il precursore di Internet. Aveva la funzione di consentire lo scambio di un grande volume di informazioni tra un numero sterminato di sistemi informatici coinvolgendo aziende, università ed enti governativi, il tutto con grande velocità e affidabilità.

Dovrebbe avere la capacità di decidere la strada migliore da seguire all’interno della rete formata dalle organizzazioni coinvolte. Nel 1983, con la formalizzazione del modello OSI, il TCP/IP è stato adattato al modello e definito uno standard di comunicazione di rete. Quindi, espandendosi all’interconnessione esterna di queste reti e costituendo lo standard di comunicazione di Internet.

Il modello TCP/IP ha solo 4 livelli che racchiudono i 7 livelli del modello OSI. Gli strati superiori ricevono informazioni e le distribuiscono agli strati inferiori, attribuendo a ciascuno di essi il ruolo che svolgerà durante la comunicazione.

Confronto con il modello OSI

Rispetto al modello OSI, puoi vedere come sono correlati i 4 livelli TCP/IP e le loro funzioni:

Applicazione (Livello 4)

Qui trovi tutti i protocolli di servizio che dialogano direttamente con il software per identificare il tipo di richiesta in corso di esecuzione.

Troviamo quindi HTTP che consente la navigazione sul web, DNS che converte l’url del browser in un numero univoco (IP) utilizzato per identificare la posizione sulla rete del mezzo da collegare, SMTP utilizzato per inviare e-mail. mails, SSH che consente una connessione remota sicura e molti altri.

Dopo la comunicazione tra il software e il livello dell’applicazione, le informazioni vengono codificate all’interno dello standard del protocollo e trasmesse ai livelli inferiori.

Trasporto (Livello 3)

Responsabile della comunicazione tra i punti (host) coinvolti. Ha la funzione di mantenere l’affidabilità e l’integrità della comunicazione, verificando se il pacchetto è giunto a destinazione e se i dati in esso contenuti sono arrivati ​​in modo integrale.

Qui troviamo il TCP, utilizzato nella connessione punto-punto. Essendo un protocollo di connessione più affidabile, viene utilizzato in applicazioni che non hanno molta tolleranza per la perdita di pacchetti.

Troviamo anche il protocollo UDP (User Datagram Protocol), un protocollo con una connessione non proprio affidabile. Non verifica l’affidabilità e l’integrità delle informazioni, tuttavia, poiché non ha le caratteristiche di controllo rilevanti per TCP, consente una trasmissione più rapida delle informazioni.

Pertanto, abbiamo TCP come protocollo principale per la connessione tra le applicazioni e UDP per il traffico multimediale (video e audio), dove la velocità è più importante dell’integrità.

porte

Questo livello utilizza porte logiche per garantire che l’applicazione (software) che ha avviato la conversazione trovi l’applicazione desiderata a destinazione. Queste porte logiche sono canali virtuali casuali, generalmente definiti dal Sistema Operativo, che si aprono in base al tipo di applicazione in esecuzione, ad esempio HTTP utilizza la porta 80, FTP utilizza la porta 21, ecc.

Questo canale virtuale fa in modo che un’applicazione che avvia una chiamata attraverso la porta 80, ad esempio utilizzando un browser per aprire una pagina HTTP sul computer A, trovi, a destinazione, il server web che fornirà la pagina HTTP richiesta anche da una porta 80 Ciò impedisce che le informazioni vengano indirizzate erroneamente a un’altra applicazione, ad esempio un server FTP (porta 21).

attacchi

Alcuni tipi di attacchi degli hacker, come DDoS (denial of service), utilizzano l’overhead delle richieste su una determinata porta, causando la caduta del servizio. Ad esempio, milioni di richieste simultanee di connessione sulla porta 80 di un web server sono in grado di causare la disconnessione del servizio e, di conseguenza, il ritiro delle pagine che ospita per gli utenti.

Per evitare ciò, il livello di trasporto cerca continuamente di analizzare e misurare quanto viene caricata la rete ed esegue un “bilanciamento del carico”, riducendo la velocità con cui i pacchetti vengono inviati per evitare il sovraccarico.

Pacchetti

Un’altra importante funzione è la corretta consegna dei pacchetti informativi, verificando la sequenza di arrivo dei pacchetti, perché, durante il traffico, alcuni possono perdersi. Per illustrare, diciamo che l’informazione prodotta nell’apparecchiatura A, destinata all’apparecchiatura B, data la sua dimensione, è stata partizionata all’origine in 10 pacchetti e inoltrata al punto B.

Al raggiungimento del punto B, il livello di trasporto, tramite TCP, verifica la sequenza e, se un pacchetto è stato perso lungo il percorso, richiede all’origine di inviarlo nuovamente.

Pertanto, se il punto B ha ricevuto i pacchetti 1, 5, 3 e 2, TCP riordina la sequenza, verifica l’assenza del pacchetto 4, richiede il reinvio di questo pacchetto e, quando arriva, lo inserisce nella sequenza corretta in modo che la destinazione interpretare l’informazione nella sua completezza.

Internet o rete (livello 2)

Si può dire che qui c’è il GPS del pacchetto TCP/IP, perché all’interno di questo livello troviamo gli indirizzi di origine e destinazione di una connessione.

Durante tutto il traffico di pacchetti attraverso la rete, trova diversi dispositivi che lo indirizzano verso il percorso migliore per raggiungere la sua destinazione. Questi dispositivi sono chiamati router e, per analogia, possono essere definiti come nodi di una rete.

Quando il router riceve il pacchetto, legge il livello Internet (o Rete), controlla l’indirizzo di destinazione, controlla l’elenco interno di percorsi che ha e indirizza il pacchetto al percorso corretto, che può essere il percorso più lungo con il minor traffico o il più corto.

Una volta raggiunta la destinazione, l’apparecchiatura memorizza l’indirizzo di origine del pacchetto ricevuto, attiva l’applicazione richiesta nel livello Trasporto, esegue l’azione richiesta nel livello Applicazione, formula la risposta, incapsula la risposta in un altro pacchetto TCP/IP, la inserisce come destinazione l’indirizzo di origine memorizzato e inserisce il suo indirizzo come indirizzo di origine.

All’interno di questo livello possiamo trovare i protocolli ICMP e IGMP. Il primo viene utilizzato per trasmettere la diagnostica sulla rete che sta viaggiando. Il secondo è utilizzato per la gestione del multicast di dati.

Un’altra funzione di questo livello è di trasportare protocolli di routing. Ad esempio, BGP, OSPF e RIP, che forniscono informazioni acquisite sul traffico di rete ai router mentre il protocollo li attraversa. Ciò consente a questi dispositivi di migliorare i propri elenchi di percorsi. Inoltre, indirizza i pacchetti futuri in modo più appropriato.

Collegamento o fisica (livello 1)

La sua funzione è identificare la connessione fisica della rete attraverso la quale viaggia il pacchetto. Ad esempio, Ethernet, Wi-Fi, modem dial-up, ATM, FDDI, Token Ring, X.2. Inoltre, porta con sé l’identità dell’hardware che ha originato l’invio del pacchetto, memorizzandone l’indirizzo MAC.

Responsabile dell’adattamento del pacco all’ambiente fisico attraverso il quale sta viaggiando. Consente al pacchetto di viaggiare attraverso diversi mezzi, attraverso diverse interconnessioni e interoperazioni di reti altamente eterogenee. Questo è uno dei maggiori punti di forza del TCP/IP. I protocolli precedenti consentivano il traffico solo sullo stesso supporto fisico.

È attraverso questo strato che un notebook o uno smartphone, connesso ad internet tramite Wi-Fi, riceve una richiesta inviata dalla radiofrequenza, può far convertire il segnale per viaggiare nella fibra ottica dell’apparecchiatura internet fornita dall’operatore e arriva a destinazione. .

Un’altra caratteristica di questo livello è la traduzione di nomi e indirizzi logici in indirizzi fisici, oltre a gestire il traffico e le velocità dei canali di comunicazione.

Infine, un’altra funzione è la partizione delle informazioni in pacchetti più piccoli, come accennato nell’esempio fornito nel livello di trasporto.

Mentre il livello di trasporto è responsabile della corretta sequenza dei pacchetti di informazioni suddivise, il livello di collegamento dati è responsabile della divisione e di queste informazioni.

Ha anche le seguenti caratteristiche:

  • Stabilire e terminare connessioni;
  • Notificare e correggere i guasti;
  • Utilizzare segnali analogici o digitali nelle connessioni;
  • Utilizzare mezzi guidati (cavi) o non guidati (radio, microonde);
  • Emissione di più segnali sullo stesso supporto fisico;
  • Mappa logica su indirizzi fisici;
  • Converte gli indirizzi fisici in logici (indirizzo IP);
  • Cambia pacchetti all’interno di un dispositivo;
  • Consente l’implementazione di TCP/IP su hardware diverso.

Il protocollo TCP

TCP è un protocollo di livello di trasporto affidabile che mira a garantire che i dati siano completamente trasmessi agli host di destinazione corretti nella sequenza in cui sono stati inviati.

Il TCP suddivide (segmenti) le informazioni ricevute dal livello dell’applicazione in blocchi di informazioni più piccoli, noti come datagrammi, e incorpora un’intestazione di identificazione che consente all’host di destinazione di ricomporre i dati. Questa intestazione contiene un insieme di bit (checksum) che consente la convalida dei dati e dell’intestazione stessa.

Questo set di bit consente all’host di destinazione di recuperare le informazioni in caso di errori di trasmissione o nei casi in cui le informazioni non possono essere recuperate o il pacchetto TCP/IP viene perso durante la trasmissione. È compito del TCP ritrasmettere il pacchetto.

Affinché l’host di origine sia sicuro che il pacchetto sia arrivato senza errori, l’host di destinazione informa lo stato della trasmissione inviando un  messaggio di conferma  .

Per poter identificare a quale servizio appartiene un dato datagramma, TCP utilizza il concetto di porte. Un servizio è associato a ciascuna porta. Dopo aver determinato la porta, tutte le comunicazioni con l’applicazione vengono eseguite e indirizzate attraverso di essa.

Funzionalità TCP

Trasferimento dati  : standard full duplex tra 2 punti, ovvero entrambi i punti collegati possono trasmettere e ricevere contemporaneamente.

Trasferimento dati con priorità diverse  : interpreta i segnali di priorità e organizza di conseguenza l’instradamento dei datagrammi.

Stabilimento e rilascio di connessioni  : richiede e accetta l’inizio e la fine delle trasmissioni tra  host  .

Sequencing  : Ordinazione dei pacchetti ricevuti.

Segmentazione e riassemblaggio  : divide le informazioni più grandi in pacchetti più piccoli per la trasmissione. Quindi, identificandoli in modo da essere adeguatamente raggruppati al momento della ricezione.

Controllo del flusso  : analizza le condizioni di trasmissione (velocità, mezzo fisico, traffico, ecc.) e adatta i datagrammi per questa trasmissione.

Controllo errori: Attraverso l’insieme di bit (checksum) della sua intestazione, verifica se i dati trasmessi sono privi di errori. Oltre al rilevamento, è anche possibile correggerlo.

Multiplexing IP  : poiché viene utilizzato il concetto di porte, è possibile inviare dati da diversi tipi di servizi (porte diverse) allo stesso host di destinazione.

Il protocollo IP

Il protocollo IP definisce i meccanismi di trasmissione dei datagrammi, avendo come caratteristico orientamento della connessione. Ogni pacchetto IP viene trattato come un’unità di informazione indipendente, senza alcuna relazione con nessun altro.

È responsabile della comunicazione tra gli host di una rete TCP/IP, gestendo il trasporto di un messaggio da un host di origine a un host di destinazione. Lo fa anche quando il datagramma deve passare attraverso più sottoreti.

Tuttavia, il protocollo IP non è affidabile in quanto non utilizza alcun controllo di flusso o gestione degli errori. Questa è la responsabilità dei protocolli di livello superiore.

Le sue funzioni più rilevanti sono l’assegnazione di uno schema di indirizzamento indipendente dall’indirizzamento della rete utilizzata e dalla topologia di rete stessa.

Inoltre, ha la capacità di instradare e prendere decisioni di instradamento per il trasporto di messaggi tra gli elementi che interconnettono le reti.

Funzionalità IP

Servizio datagramma inaffidabile;

Indirizzamento gerarchico;

Facilità di frammentazione e rimontaggio dei pacchi;

Campo speciale che indica quale protocollo di trasporto utilizzare al livello superiore;

Individuazione dell’importanza del datagramma e del livello di affidabilità richiesto per dare priorità alla trasmissione;

Smaltimento e controllo a vita dei pacchetti che circolano sulla rete.

L’indirizzo IP

È l’identificazione univoca e inequivocabile di ciascuno degli host che compongono una rete. È un insieme di 32 bit, normalmente scritti in decimale e distribuiti su 4 ottetti. Segue le specifiche definite dal  NIC  (  Network Information Center  ). La NIC assegna e controlla gli indirizzi IP in tutto il mondo. In questo modo viene garantita la sicurezza e l’unicità degli indirizzi.

È associato all’host, anche con una maschera di rete che definisce l’identificazione, i limiti e il numero di apparecchiature sulla rete a cui questo host è connesso.

A causa dell’esistenza di reti di varie dimensioni, viene utilizzato il concetto di Classe di indirizzo. Pertanto, è possibile distinguere le seguenti classi:

R  : 128 reti con la capacità di indirizzare 16 milioni di host;

B  : 16384 reti con la capacità di indirizzare 64.000 host;

C  : 2 milioni di reti con la possibilità di indirizzare 256 host;

D  : consente di distribuire un datagramma su un insieme di host;

E  : Questi sono indirizzi che iniziano con 1111 e sono riservati per un uso futuro.

Per impostazione predefinita, Internet utilizza la classe C per indirizzare le sue reti e  host.  Pertanto, quando un nuovo  ISP  (  Internet Service Provider  ) si connette a Internet, riceve almeno un set di 256 indirizzi da utilizzare sui suoi  host  . Così, consentendo l’accesso simultaneo a Internet da parte di 256 utenti.

Con la crescita esponenziale di Internet, gli indirizzi IP disponibili sono diminuiti drasticamente e un modo per risolvere l’inevitabile esaurimento degli indirizzi IP era creare il concetto di sottoreti.

IPv4 e IPv6

Inizialmente, Internet non è stato progettato per uso commerciale. Pertanto, con il possibile esaurimento degli indirizzi, oltre ai miglioramenti tecnologici, è stato creato IPv6. IPv6 ha indirizzi a 128 bit. In questo modo, consentendo un numero immensamente maggiore di indirizzi.

Qualità TCP/IP

TCP/IP è il protocollo standard. Dopotutto, ha una serie di qualità che consentono un’enorme versatilità nelle comunicazioni. Inoltre, consente la standardizzazione nello sviluppo di nuove tecnologie software e hardware. In particolare, le seguenti qualità possono essere elencate come principali:

Standardizzazione  : è uno standard e un protocollo instradabile che è il più completo e accettato, attualmente disponibile. Tutti i moderni sistemi operativi supportano TCP/IP. Inoltre, la maggior parte delle grandi reti si basa su di esso per la maggior parte del proprio traffico.

Interconnettività  : è una tecnologia per il collegamento di sistemi dissimili. Sono disponibili molte utilità di connettività standard per accedere e trasferire dati tra questi sistemi diversi. Questi includono   FTP   (  File Transfer Protocol  ) e   Telnet   (  Terminal Emulation Protocol  ).

Routing  : consente e consente alle tecnologie più vecchie e più recenti di connettersi a Internet. Funziona con protocolli di linea come  PPP  (  Point to Point Protocol  ). In questo modo, consentendo la connessione remota da linea telefonica o dedicata. Anche come i meccanismi e le interfacce IPC più utilizzati dai sistemi operativi, come i socket Windows e NetBIOS.

Robusto Protocollo  : è scalabile e multipiattaforma, con struttura per essere utilizzato in sistemi operativi client/server, consentendo l’utilizzo di applicazioni di queste dimensioni tra due punti distanti.

Internet  : è attraverso la suite di protocolli TCP/IP che otteniamo l’accesso a Internet. Le reti locali distribuiscono server di accesso a Internet (server proxy). Gli host locali si connettono a questi server per ottenere l’accesso a Internet. Questo accesso può essere ottenuto solo se i computer sono configurati per utilizzare TCP/IP.

Conclusione

In breve, TCP/IP specifica come i dati vengono scambiati su Internet. Fornisce comunicazioni end-to-end. Identifica come devono essere pacchettizzati, indirizzati, trasmessi, instradati e ricevuti a destinazione.

TCP/IP richiede poca gestione centralizzata ed è progettato per rendere le reti affidabili. Con esso, è possibile recuperare automaticamente dal guasto di qualsiasi dispositivo sulla rete.

Rispondi