Categories: All - sicurezza - internet

by ENZO BARBATO 1 year ago

91

LE RETI INFORMATICHE

Le reti informatiche sono fondamentali per chiunque utilizzi internet o lavori nello sviluppo web, poiché permettono lo scambio di pacchetti dati tra computer attraverso linee come cavi e fibre ottiche.

LE RETI INFORMATICHE

LE RETI INFORMATICHE

TESTIndipendentemente dal fatto che tu sia nuovo al mondo dello sviluppo web o abbia una certa esperienza — anche se sei un utente quotidiano di internet a cui piace semplicemente la tecnologia — devi conoscere le basi del networking e in modo specifico delle reti informatiche.

Se ti piace approfondire il funzionamento dei server, la loro sicurezza e il modo in cui ti connetti a un server da un client remoto, tutto ciò richiede una certa conoscenza delle reti informatiche e dei loro componenti. In quest'articolo, ho tentato di includere gli argomenti più importanti che riguardano le reti informatiche.

Prima di tutto, partiamo dalla definizione di rete informatica:

Le reti informatiche possono essere definite come lo scambio di pacchetti dati tra computer attraverso il mondo con l'aiuto di linee dati come cavi, fibre ottiche, ecc.

Internet è un tipo di rete informatica.

Adesso, prenderemo in esame alcuni dei termini comunemente utilizzati, i componenti di una rete informatica e il loro funzionamento.

Da qui in poi, faremo riferimento alle "reti informatiche" semplicemente come "reti".


Termini comunemente usati

Nodi

I nodi in una rete fanno riferimento a tutti i dispositivi come ad esempio computer, cellulari, tablet, che inviano e ricevono pacchetti a un altro dispositivo simile attraverso la rete.


Pacchetti

I pacchetti non sono nient'altro che le informazioni o le unità di dati che un nodo sorgente vuole inviare al o ricevere dal nodo di destinazione. In quest'articolo, i termini pacchetto e pacchetto dati hanno lo stesso significato.


Internet Protocol (IP)

Considera di voler inviare un regalo di compleanno a un tuo amico. Immagino che vorrai spedirlo al suo indirizzo di posta.

Siamo nello stesso caso. I primi informatici volevano identificare i computer su internet con un numero unico, qualcosa come un odierno numero di telefono. Quindi crearono il concetto di TCP/IP.

L'IP di un computer è l'indirizzo del dispositivo all'interno di una rete. È il numero a 32 bit che identifica il dispositivo nella rete. Tutte le comunicazioni con il dispositivo in quella rete verranno effettuate in termini del suo indirizzo IP.

Considera di caricare un file su un sito qualsiasi, diciamo su Google drive.

Parlando del livello più basso delle reti di comunicazioni, il tuo file viene convertito in pacchetti e ogni pacchetto contiene l'indirizzo del nodo di destinazione, che non è altro che l'indirizzo IP.

Ad un livello più alto, gli indirizzi IP vengono classificati in due tipi:

Gli indirizzi IPv4 vengono divisi in 5 classi dette A, B, C, D, E.


1*Nn10SdJKJ_L2VDuQCwwHLQOttetti in un indirizzo IP.

Bit del Network + Bit del Host = Bit totali dell'indirizzo IP (32)

Nota: A seconda del primo ottetto, l'indirizzo IP è classificato in diverse classi.


1*W_MW72XqL54QxKaPHk54UASource: tcpipguide.com

Classe A: come mostrato nella terza colonna dell'immagine qui sopra, in un indirizzo IP di classe A, il primo bit del primo ottetto è costante e il suo valore è "0".

La seconda colonna indica i bit di rete e i bit dell'host della corrispondente classe di indirizzo IP. Nel caso di un indirizzo IP di classe A, abbiamo la seguente formula:

Numero di reti/sottoreti = 2^(# dei bit di rete) .

Numero di host validi in ogni sottorete = 2^(# di bit degli host) — 2 .

Il numero di bit di rete e bit degli host viene deciso dalla maschera di sottorete di default della classe dell'indirizzo IP.

La maschera di sottorete di default per un indirizzo IP di classe A è 255.0.0.0, ovvero 11111111.00000000.0000000.00000000Quindi, per la classe A:

bit di rete = 8 e bit degli host = 24.

Dato che bit di rete = 8bit degli host = 24, la loro somma deve essere 32, visto che gli indirizzi IPv4 hanno 32 bit. Ma visto che stiamo usando il bit uno (il primo bit nel primo ottetto) per identificare la classe:

Numero di bit di rete utilizzabili = Numero di bit di rete — Numero di bit costanti = 8–1 = 7

Quindi, il Numero di reti possibili di Classe A = 2^7 — 2 = 126 e il

Numero di possibili host (che è il numero di dispositivi che possono essere connessi alla rete) per rete di Classe A = 2^24-2 = 16277214.

Adesso, per la classe A, potresti chiederti perché ho sottratto un 2 extra dal numero di reti possibili. Ciò è necessario perché, per la classe A, 127.x.y.z è tenuto riservato. Per le altre classi, viene utilizzata la formula consueta.

Dunque, gli indirizzi IP di classe A vanno da 1.x.x.x a 126.x.x.x.

Classe B: il caso è simile per la classe B. L'unica differenza è che 2 bit del primo ottetto sono costanti (10) e identificano questa classe. Tutti gli altri calcoli sono identici (non li ripeterò dato che sono disponibili nei paragrafi precedenti). Gli indirizzi di classe B vanno da 128.0.x.x a 191.255.x.x.

Classe C: 3 bit del primo ottetto sono costanti (110) e identificano la classe come C. Vanno da 192.0.0.x a 223.255.255.x.

Classe D e Classe E: le Classi D e E sono usate per scopi sperimentali.

Gli indirizzi IPv4 sono principalmente di due tipi:

Nota: un dispositivo può avere indirizzi IP multipli contemporaneamente. Considera un apparecchio connesso a due reti, una rete wifi e una rete LAN — avrà due indirizzi IP. Questo implica che gli indirizzi IP siano assegnati all'interfaccia e non direttamente al computer.

Fin qui tutto bene, continuiamo.


Router

Il router è un componente hardware che si occupa di indirizzare i pacchetti. Determina da quale nodo arriva un pacchetto e a quale nodo di destinazione viene mandato. Nessun computer conosce dove sono collocati gli altri computer e i pacchetti non vengono mandati a tutti i computer. Un router identifica l'indirizzo del nodo di destinazione a cui il pacchetto deve essere inviato e lo spedisce all'indirizzo desiderato.

I router posseggono un specifico "protocollo di routing" che definisce il formato in cui scambiano dati con altri router o nodi di rete. In altre parole, il protocollo di routing definisce il modo in cui i router comunicano tra di loro.

I router costruiscono una "tabella di routing" che identifica il percorso ottimale da percorrere nella rete per inviare pacchetti.


1*eTows8BQKhPE8j76SNSVNAUn router.

Tecnicamente, una tabella di routing è solo una tabella con una lista di "percorsi" da un router a un altro. Ogni percorso contiene le informazioni riguardanti l'indirizzo dell'altro router/nodo nella rete e come raggiungerlo.


Tabella di routing:

Destinazione  Gateway     Genmask        Flags Metric Refs Iface
default       192.168.0.1 0.0.0.0        UG    1024   233  eth0
192.168.0.0   *           255.255.255.0  UC    0      0    wlan0
192.168.0.0   *           255.255.255.0  UH    0      2    eth0

Qui sopra, puoi vedere un esempio di tabella di routing. I punti chiave di cui prendere nota sono:

Questo è il modo in cui funziona un router, con l'aiuto del protocollo di routing e della tabella di routing.

Per ora tutto bene. Ma potresti pensare — “Ok! Ma stiamo imparando i componenti qui. Ho bisogno di mettere tutto insieme e capire come funziona internet.”

Qualche altro termine e inizierai ad avere una comprensione generale di come funzionano le cose.


Network Address Translation (NAT)

Il Network address translation (o traduzione degli indirizzi di rete) è una tecnica usata dai router per garantire il servizio internet su più dispositivi con un minor utilizzo di IP pubblici. Dunque, il fornitore di servizi internet assegna un singolo indirizzo IP a un router, che assegna degli IP privati a tutti i dispositivi che vi si connettono. Il NAT aiuta il fornitore di servizi internet a raggiungere più clienti.

Quindi, se sei connesso al router della tua casa, il tuo IP pubblico sarà visibile al mondo, ma quello privato no. Qualsiasi pacchetto trasmesso sarà rivolto al tuo IP pubblico (l'IP pubblico assegnato al router).


1*rjlWoUU-AeshrGLt0NF1UwNetwork address translation (NAT)

Considera la figura qui sopra. Diciamo che dalla rete della tua casa, stai cercando di accedere a medium.com (IP remoto statico: 72.14.204.147), dal tuo computer (IP privato: 192.168.1.100).

Quindi per il tuo computer, la connessione è:

192.168.1.100:37641 → 72.14.204.147:80.

“37641” è il numero di porta random assegnato dal router NAT al tuo dispositivo/computer (quando c'è una comunicazione di rete tra demoni in esecuzione su porte differenti su un computer, le rispettive porte vengono utilizzate dal NAT). A ogni connessione in uscita viene assegnata una porta dal router NAT.

La connessione viene stabilita nel NAT come:


IP PRIVATOPORT PRIVATOIP PUBBLICOPORT PUBBLICOREMOTOPORT REMOTO192.168.1.10037641104.244.42.1295927372.14.204.14780

Ma visto che il mondo esterno alla rete non conosce il tuo indirizzo privato, la connessione a medium.com assomiglia a:

104.244.42.129:59273 → 72.14.204.147:80.

In questo modo, riusciamo ad assegnare un numero maggiore di indirizzi IP senza sprecare molti IP pubblici.

Quando medium.com manda indietro la risposta a 104.244.42.129:59273, questa viaggia fino al tuo router di casa che poi cerca il rispettivo IP privato e numero di porta privato e direziona il pacchetto al tuo dispositivo/computer.

Nota: NAT è un concetto generalizzato. Il NAT può essere ottenuto come 1:1, 1:N, dove 1,N sono il numero di indirizzi IP nella rete. Una tecnica chiamata "IP masquerading" è un 1:N NAT.


Dynamic Host Configuration Protocol (DHCP)

Il protocollo DHCP (Dynamic Host Configuration Protocol) è responsabile dell'assegnazione di indirizzi IP dinamici agli host. Il server DHCP viene gestito dal fornitore di servizi internet o dal router precedente se esiste una catena di router per raggiungere l'host.

Quindi, l'assegnazione degli indirizzi IP è svolta dal server DHCP. In generale, il fornitore di servizi internet gestisce un server DHCP, che assegna un indirizzo IP pubblico ai router nella tua casa.

Nota: ogni volta che viene effettuata della manutenzione sul router, sul server DHCP oppure il router si riavvia, l'assegnazione degli indirizzi IP riparte e i dispositivi ricevono degli indirizzi IP diversi dai precedenti.


Domain Name System/Server

Abbiamo già detto che ogni macchina è identificata da un indirizzo IP.

Ok, quindi un server web è attivo sul tuo localhost sulla tua macchina. Se hai spulciato gli host di una macchina Linux qualsiasi, hai incontrato qualcosa del genere:


127.0.0.1        localhost
255.255.255.255  broadcasthost
::1              localhost

che vuol dire che scrivere 127.0.0.1 nella barra degli URL del tuo browser, equivale a localhost.

Analogamente, i siti web che utilizzi quotidianamente sono server web che girano su qualche istanza/nodo remoto con un indirizzo IP statico. Quindi, scrivendo un indirizzo IP nella barra degli URL del tuo browser arriverai al sito corrispondente?

Sì, certamente. Ma, per caso, hai il superpotere di ricordare gli indirizzi IP di migliaia di siti?

NO.

Ed ecco perché utilizziamo i domini, come medium.com, twitter.com, behance.net, codementor.io, ecc.

Un DNS (Domain Name Server) è un server che contiene una enorme quantità di dati di indirizzi IP che mappano i nomi di dominio. Cercano degli input di dominio e restituiscono il rispettivo indirizzo IP della macchina su cui è localizzato l'host del sito web al quale vuoi accedere.


1*1uiMJkS8rqJDn7eyKRd-ewDomain Name System (DNS)

Come funziona praticamente un DNS?

  1. Il DNS è gestito dal tuo ISP (internet service provider).
  2. Quando scrivi un URL nella barra degli URL, i pacchetti dati viaggiano attraverso il tuo router, probabilmente anche tra vari router, fino all'ISP dove è localizzato il DNS.
  3. Il server DNS presente nell'ISP cerca il dominio nel suo database. Se trova una corrispondenza, la restituisce.
  4. Nel caso in cui non trovi nessuna corrispondenza nel suo database primario, il server DNS percorrerà internet fino a un altro server DNS gestito da un altro ISP e controllerà se esiste una corrispondenza all'interno del secondo DNS. In questo modo, restituirà l'indirizzo IP preso dall'altro server DNS e aggiornerà il suo database primario.
  5. Quindi, a volte (ma di rado), un server DNS potrebbe dover attraversare svariati altri server DNS per trovare una corrispondenza.
  6. Se dopo aver percorso molti altri server DNS nella rete internet non trova nessuna corrispondenza, il server DNS restituisce un errore che indica che il nome di dominio è invalido o non esiste.

Nota: L'ICANN (Internet Corporation for Assigned Names and Numbers) è un'associazione no profit che gestisce l'assegnazione dei nomi di dominio e dei range degli indirizzi IP nell'interesse della comunità.

Un dominio è diviso in tre parti come mostrato nella seguente figura.


1*DFJyA2XEEUesen6y5sSkEA

  1. Protocollo: il protocollo utilizzato per accedere a un sito web, ad esempio, HTTP, HTTPS, ecc.
  2. Nome di dominio: il nome principale del dominio. Può essere un nome qualsiasi disponibile per il registro ICANN.
  3. Estensione del dominio: questa è la parte considerata importante nell'acquisto di un dominio. In genere, viene classificata in due tipi:

Internet Service Providers (ISP)

I fornitori di servizi Internet (Internet Service Provider, ISP) sono compagnie che forniscono internet a tutti. In questo momento, stai leggendo questo articolo perché il tuo ISP ti fornisce internet.

Gli ISP forniscono internet, gestiscono le tue richieste, risolvono i nomi di dominio con l'aiuto di cache DNS e gestiscono tutte la rete di infrastrutture che ci permette di utilizzare internet.


1*fHPSdrVkjQ9tr72ncc7jjQInternet Service Providers (ISP)

Gli ISP hanno una struttura gerarchica che funziona tramite internet e possono essere di vari tipi, ossia Tier 1, Tier 2, Tier 3.

Il traffico che attraversa il tuo router passa anche dai Tier 3 (se presenti), Tier 2, e infine dagli ISP Tier 1 fino a un'altra rete.

Sono felice che sei ancora qui con me. Ora cerchiamo di rimettere tutto insieme.


Riassumendo

Finora, abbiamo imparato quali sono i componenti necessari per far funzionare tutto. Adesso li monteremo insieme.


1*8FEZEwZSBHKXGOsevHyeZQUn diagramma dettagliato di una generica rete informatica.

Riassumiamo le cose che abbiamo imparato:

Quindi, è così che funziona Internet, ovvero un tipo di rete informatica che utilizza il protocollo TCP/IP.

Grazie per aver letto quest'articolo!


commento

INDIRIZZAMENTO IP

TECNOLOGIA
Sottoargomento

RETI LAN

RETI BAN

RETI MAN

RETI WAN

RETI PAN

Argomento principale