Usiamo tutti Internet ogni giorno per tutti i tipi di cose senza nemmeno pensare a come funziona tutto. Basta fare clic su un pulsante e la posta viene inviata. Nel giro di pochi secondi, dall'altra parte, la posta viene ricevuta. È tutto così veloce e semplice. Possiamo essere tutti d'accordo sul fatto che sia veloce. Ma è davvero così semplice? Ti sei mai chiesto cosa succede dietro le quinte che rende il networking così fluido e semplice? La spina dorsale del networking è il cosiddetto modello TCP/IP e questo sarà il nostro argomento principale oggi.

In questo post, spiegheremo lo scopo del modello TCP/IP e cercheremo di descrivere come funziona.

Qual è il modello TCP/IP?

Le reti funzionano correttamente perché tutti i dispositivi e il software seguono una determinata serie di regole, presentando sotto forma di standard e protocolli. Oggi, il modello di networking più usato è TCP/IP. Ogni dispositivo che dovrebbe connettersi a Internet ha realizzato oggi il supporto per TCP/IP.

Ogni PC Windows supporta il protocollo TCP/IP (così come ogni computer MacOS, ogni dispositivo iOS, ogni dispositivo Android, et.)

TCP/IP è un modello utilizzato per standardizzare il networking per computer. Definisce il modo in cui i computer comunicano su una rete. Il modello TCP/IP è costituito da pochi livelli. Ogni bit di dati inviati da un computer a un altro deve passare attraverso tutti quei livelli prima di essere inviati e/o ricevuti.

Cosa significa TCP in TCP/IP?

TCP è un'abbreviazione per il protocollo di controllo della trasmissione. È uno standard di comunicazione che consente l'invio di pacchetti su Internet e garantisce che i pacchetti vengano ricevuti con successo dall'altra parte.

TCP definisce il modo in cui i dati dell'applicazione vengono inviati da un computer su Internet a un altro computer o server. TCP divide i dati in bit più piccoli chiamati segmenti prima di inviarli. Per ogni segmento inviato, il protocollo TCP crea un'intestazione con alcune informazioni di base su quel segmento.

L'intestazione include informazioni sulle porte di origine e di destinazione. L'applicazione utilizzata per la comunicazione tra i dispositivi determina il numero di porta. Ad esempio, se l'applicazione è HTTP (se si sta tentando di aprire un sito Web), la porta di destinazione sarà 80. Se si sta tentando di visitare un sito Web HTTPS, la porta di destinazione sarà 443. Quando si utilizza un server di posta elettronica SMTP, la destinazione La porta avrà 25. Se si sta tentando di trasferire file da un server (protocollo FTP), la porta di destinazione nell'intestazione sarà 20 e 21.

Supponendo che sia un client che comunica con una sorta di server, le porte di origine per il tuo dispositivo sono generate in modo casuale dal TCP. Quando si visita un sito Web, un client comunica con il server Web (server HTTP o HTTPS). Pertanto, quando si digita l'indirizzo Web e si preme INVIO, TCP assegna casualmente una porta di origine a una scheda specifica sul browser Web. Attraverso questa porta, il computer riceverà le informazioni dal server.

Quando la richiesta raggiunge il server Web, il server ti invierà i dati. I dati avranno anche l'intestazione TCP con porte di origine e destinazione. In questo caso, la porta di origine sarà 80 (sito Web HTTP) o 443 (sito Web HTTPS) e la porta di destinazione sarà quel numero di porta generato casualmente dal TCP sul computer. Di conseguenza, vedrai il contenuto del sito Web sul tuo browser.

Oltre alle porte di origine e di destinazione, l'intestazione TCP contiene molte altre informazioni.

Ad esempio, TCP assegna anche un numero di sequenza a ciascun segmento di dati, in modo che il ricevitore sappia se tutti i segmenti hanno raggiunto la destinazione e come rimettere insieme tutti i segmenti.

Inoltre, i numeri di riconoscimento sono assegnati a ciascun segmento in modo che il ricevitore possa dire al mittente quale pacchetto dovrebbe essere ricevuto in seguito.

Il checksum è un'altra informazione trovata nell'intestazione TCP. Queste informazioni vengono utilizzate per il rilevamento degli errori. Per ogni segmento di dati, prima di inviarlo, il TCP calcola il checksum per quel segmento. Quando quel segmento raggiunge il ricevitore, la macchina ricevente calcola anche il checksum. Se i valori corrispondono, i dati vengono ricevuti. Se i checksum non corrispondono, il ricevitore eliminerà i dati.

L'intestazione TCP contiene qualche altro punto di informazione, ma non consente di complicare troppo le cose. Questo sarà più che sufficiente per spiegare come funziona il modello TCP/IP. Se vuoi saperne di più sull'intestazione TCP, guarda il video qui sotto.

TCP Intestazione ha spiegato

Il punto di tutte queste informazioni nell'intestazione TCP è garantire un flusso di dati sicuro e affidabile dal mittente al ricevitore.

TCP non è l'unico protocollo utilizzato per la trasmissione dei dati. L'altro protocollo comune è chiamato protocollo UDP o Datagram utente. È simile a TCP ma molto più semplice. Ogni segmento di dati inviato utilizzando UDP ha anche un'intestazione, ma l'intestazione è molto più piccola. Contiene solo porte di origine e destinazione, lunghezza e checksum. L'UDP non è così affidabile e, a seconda della qualità della connessione, è possibile perdere molti pacchetti di dati. TCP, d'altra parte, impedirà tali occorrenze e risponderà a ogni pacchetto di dati smarriti. Quindi, perché usiamo UDP se è così inaffidabile?

Bene, la verità è che alcune applicazioni mettono la velocità e la comunicazione a bassa latenza al di sopra dell'affidabilità. Tali applicazioni sono chiamate vocali e video e giochi online . Per tali applicazioni, il computer utilizzerà sempre il protocollo UDP anziché TCP. Le applicazioni che non richiedono la bassa latenza utilizzeranno sempre TCP. Quindi, ad esempio, quando si tenta di caricare o scaricare un file da un server, il computer utilizzerà il protocollo TCP perché è più affidabile e proteggerà l'integrità dei tuoi dati.

TCP vs. UDP

Cosa significa IP in TCP/IP?

IP sta per il protocollo Internet. È un insieme di regole che consente la comunicazione di dispositivi su una rete assegnando indirizzi univoci (indirizzi IP) a ciascun dispositivo . Non ci sono due protocolli IP - IPv4 e IPv6. IPv4 è attualmente in uso, mentre IPv6 non è ancora completamente implementato.

IPv4 definisce un indirizzo IP come una sequenza univoca di 32 bit. Ogni dispositivo su una rete deve avere un indirizzo univoco. Altrimenti, non sarà in grado di comunicare con gli altri .

Tutti gli indirizzi IPv4 sono divisi in 5 classi (da A a E), in base alle dimensioni delle reti su cui vengono utilizzate. Inoltre, sono divisi in due gruppi: privati ​​e pubblici. Gli indirizzi pubblici vengono utilizzati per la comunicazione su Internet, mentre gli indirizzi privati ​​vengono utilizzati per la comunicazione con altri dispositivi connessi a una rete LAN.

Tutti i dispositivi nella tua casa hanno indirizzi IP privati. Tutta la tua rete domestica (tutti i dispositivi della tua casa) ha un solo indirizzo pubblico assegnato dal tuo ISP. Tutti i dispositivi nella tua casa usano quell'indirizzo IP pubblico per andare online, ma utilizzano indirizzi privati ​​quando comunicano con altri dispositivi sulla tua rete domestica.

Infine, tutti gli indirizzi IPv4 possono essere statici o dinamici. Gli indirizzi statici rimangono con un dispositivo (server, computer, stampante, gioco) e non cambiano nel tempo: un dispositivo avrà sempre lo stesso indirizzo. Gli indirizzi dinamici cambiano nel tempo.

Lo scopo degli indirizzi IP nel modello TCP/IP è abbastanza ovvio. Senza di loro, i nostri dispositivi non potevano ricevere né inviare dati perché i dati non saprebbero dove andare.

Livelli TCP/IP

Come accennato, il modello TCP/IP è un insieme di regole e protocolli che definiscono il modo in cui i dati viaggiano da un computer all'altro. TCP e IP sono le ossa dei dorsali di questo modello, ma c'è un po 'di più.

Il modello TCP/IP utilizzato oggi è composto da 5 livelli: applicazione, trasporto, rete, collegamento dati e livello fisico.

Ogni bit di informazioni deve passare attraverso tutti questi livelli prima di essere inviati. Deve anche passare tutti i livelli sulla fine ricevente prima di essere ricevuto.

Il modello originale consisteva in applicazioni, trasporto, Internet e collegamento a quattro livelli. Il nuovo modello TCP/IP aggiornato ha rinominato il livello Internet su livello di rete, mentre il livello di collegamento è diviso in due - collegamento dati e livello fisico. Quindi, invece di 4 strati originali, ora abbiamo 5 strati.

Ad ogni livello, abbiamo protocolli e dispositivi diversi. Ogni livello aggiungerà le proprie informazioni. L'intero processo è denominato incapsulamento. Una volta che i dati raggiungono il livello fisico, i dati vengono trasmessi al dispositivo di ricezione (su Internet o all'interno di una rete LAN molto più piccola). Il dispositivo di ricezione inizierà quindi a decapsulare ogni pacchetto di dati e riorganizzarli.

Come funziona TCP/IP?

Come accennato, i dati devono passare attraverso ogni livello prima di essere inviati (incapsulamento) e quindi devono passare attraverso ogni livello sulla fine ricevente prima di essere ricevuti (decapsulazione). Discutiamo questi due processi.

Incapsulamento dei dati

Il livello più in alto è chiamato livello applicazione. Programmi (come il tuo browser, Skype o i tuoi giochi online) interagiscono direttamente con questo livello. Tutto inizia con i dati dell'applicazione creati in questo livello. I dati potrebbero essere qualsiasi file inviato dal tuo computer a un altro computer. Potrebbe anche essere la tua richiesta di aprire un sito Web o un comando in un videogioco. Questo livello è costituito da protocolli di applicazione come HTTP (siti Web non sicuri), HTTPS (siti Web sicuri), SMTP (protocollo e -mail), FTP (protocollo di trasferimento file), telnet, ssh, ecc.

Il livello sottostante è il livello di trasporto: è qui che vive il TCP, insieme a UDP. È qui che i dati vengono tagliati in piccoli bit di dati chiamati segmenti. Segmentando i dati, TCP consente una trasmissione molto più veloce e consente a ciascun pacchetto di prendere il percorso più rapido. Potrebbero non arrivare a destinazione nello stesso ordine, ma è per questo che abbiamo intestazioni TCP. Ogni segmento ottiene un'intestazione TCP, come discusso sopra. Sulla base dell'applicazione nel livello precedente, TCP definisce le porte di origine e di destinazione. Per garantire che ogni pezzo di dati raggiunga la sua destinazione e che tutti i dati vengano ricevuti correttamente, il TCP aggiungerà anche tutte le altre informazioni di cui abbiamo parlato.

Lettura consigliata:

Dopo il livello di trasporto, i dati si spostano verso il livello di rete, dove si sta svolgendo l'indirizzamento. Ecco dove vive il protocollo Internet. Nel livello di rete, ogni pacchetto riceve la cosiddetta intestazione IP, che contiene informazioni sull'indirizzo IP di origine e destinazione. In questo modo, il pacchetto sa da dove va e da dove provenga. Quando il segmento del livello di trasporto raggiunge il livello di rete e riceve la sua intestazione IP, diventa un pacchetto. I router operano anche nel livello di rete poiché sono responsabili dell'indirizzo IP nelle reti LAN

Infine, i dati raggiungono il livello di collegamento dati. Qui, ogni pacchetto riceve non solo un'intestazione ma anche un trailer. L'intestazione contiene gli indirizzi MAC di origine e destinazione, mentre il trailer contiene informazioni di controllo degli errori che aiutano il dispositivo di ricezione a verificare se i dati sono stati ricevuti correttamente. Il livello di collegamento dati contiene Ethernet. Gli switch Ethernet funzionano anche a questo livello. Dopo aver superato il livello di collegamento dati, il pacchetto diventa frame.

Infine, c'è uno strato fisico che include tutto ciò che puoi effettivamente toccare (esclusi router e switch). I cavi e le schede di rete appartengono a questo livello. Quando i dati raggiungono il livello fisico, vengono trasmessi fisicamente all'estremità ricevente.

Decapsulamento dei dati

I dati vengono trasmessi fisicamente alla destinazione, ed è qui che inizia il processo di decapsulazione. Nel livello di collegamento dati, la macchina di destinazione controlla ogni frame. Controlla l'indirizzo MAC di origine e destinazione. Se l'indirizzo MAC di destinazione corrisponde alla macchina di destinazione, il livello di collegamento dati spingerà il frame più in alto verso il livello di rete.

Qui, la macchina ricevente controlla l'indirizzo IP di destinazione. Se il pacchetto è pensato per quel computer specifico, andrà oltre al livello di trasporto. L'intestazione TCP viene verificata e se tutto è corretto, i dati vengono inviati al livello dell'applicazione, dove vengono finalmente ricevuti.

Pensieri finali

Ecco qua. Spero che ora tu capisca cos'è un modello TCP/IP, a cosa serve e come funziona. Resta sintonizzato per articoli più interessanti sul networking!