Breadcrumbs

Autore: Aldo Barillaro

Il computer non è in grado di capire direttamente il linguaggio naturale quindi per poter comunicare con lui bisogna per

forza trovare un altro modo: il sistema binario. Ma che cos’è il sistema binario? E che differenza c’è tra bit e byte?

 

 

CHE COS’È IL SISTEMA BINARIO?

Per contare ed eseguire semplici calcoli noi comunemente utilizziamo il classico sistema decimale il quale, a sua volta,

per poter rappresentare i diversi numeri, utilizza dieci cifre da 0 a 9. Per contare ed eseguire complicati calcoli, ma non

solo, i computer utilizzano invece un altro sistema che prende il nome di sistema binario, proprio perché quest’ultimo è

costituito da soli due simboli: 0 ed 1. Questa scelta è stata fatta semplicemente perché i computer, ed in generale tutti i 

vari circuiti elettricicapiscono unicamente solo questi due simboli. Gli stati in cui può trovarsi un qualunque circuito

elettrico sono infatti solamente due, ovvero:

 

  • 0, che corrisponde alla mancanza di tensione, quindi a 0 volt;
  • 1, che corrisponde invece alla presenza di tensione, in genere 5 volt.

 

Mediante l’utilizzo di queste due sole cifre si possono però rappresentare non solo tutti i possibili numeri esistenti, ma 

anche tutte le parole, le immagini, i video, i suoni, ed in generale tutte le altre più disparate tipologie di

informazioni digitali. Il computer, infatti, prima converte ad esempio un numero, un simbolo o una parola in questo

sistema binario, poi esegue i dovuti calcoli, e infine, una volta convertiti i risultati dal sistema binario al sistema

decimale, restituisce le parole, le immagini, i video, i suoni, e in generale qualsiasi altra tipologia di informazione

necessaria.

COME SI CONVERTE UN NUMERO DAL SISTEMA DECIMALE AL SISTEMA BINARIO?

Per convertire un numero dal sistema decimale al sistema binario non bisogna fare altro che dividere il numero in

questione per due, poi, se il risultato di questa divisione dà resto si mette 1, altrimenti, se il risultato di questa

divisione non dà resto si mette 0. Una volta quindi arrivati a 0 come risultato della divisione ci si ferma e poi si

leggono i valori ottenuti dal basso verso l’alto. Ad esempio, se voglio convertire il numero 74 dal sistema decimale al

sistema binario dovrò fare semplicemente in questo modo:

 

  • 74/2 = 37 senza resto, quindi 0
  • 37/2 = 18 con resto, quindi 1
  • 18/2 = 9 senza resto, quindi 0
  • 9/2 = 4 con resto, quindi 1
  • 4/2 = 2 senza resto, quindi 0
  • 2/2 = 1 senza resto, quindi 0
  • 1/2 = 0 con resto, quindi 1

 

A questo punto, leggendo i valori ottenuti dal basso verso l’alto, e scrivendoli da sinistra verso destra, otterrò il

numero binario 1001010 che nel sistema decimale corrisponderà proprio al numero 74.

 

COME SI CONVERTE UN NUMERO DAL SISTEMA BINARIO AL SISTEMA DECIMALE?

 

Per convertire un numero dal sistema binario al sistema decimale non bisogna fare altro, invece, che moltiplicare

le cifre del numero binario per le potenze di 2 in ordine crescente, cioè iniziando a contare da destra con 2^0 (un

numero elevato zero fa sempre 1 tranne 0^0) e proseguendo verso sinistra con 2^1 che fa 2, poi 2^2 che fa 4, poi 2^3

che fa 8, e così via fino all’ultima cifra. Alla fine basterà soltanto sommare i risultati conseguiti ed ottenere così il

numero nel sistema decimale. Ad esempio, se voglio convertire il numero 1001010 dal sistema binario al sistema

decimale dovrò fare semplicemente in questo modo:

 

  • (0 * 2^0) = 0
  • (1 * 2^1) = 2
  • (0 * 2^2) = 0
  • (1 * 2^3) = 8
  • (0 * 2^4) = 0
  • (0 * 2^5) = 0
  • (1 * 2^6) = 64

 

Sommando i valori ottenuti, cioè 0 + 2 + 0 + 8 + 0 + 0 + 64, avrò quindi come risultato 74, ovvero proprio il numero

di partenza espresso nel sistema decimale. Questo per farti capire che un computer, mediante la sua CPU, esegue

milioni, se non addirittura miliardi, di questi semplici calcoli in un solo secondo. Sappi comunque che oltre al sistema

binario e al sistema decimale esiste anche il meno conosciuto sistema esadecimale, il quale però, per via della sua

relazione diretta tra una cifra esadecimale e quattro cifre binarie, rimane pur sempre molto utilizzato nel mondo

dell’informatica.


In informatica le cifre binarie, cioè 0 oppure 1, vengono generalmente chiamate bit, dall’acronimo inglese di binary

digit. Ma che cos’è un bit? Un bit non è altro che l’unità fondamentale all’interno di un qualsiasi computer, e

siccome la memoria nel PC viene normalmente organizzata in più celle da 8 bit, ogni cella prende perciò il

nome di byte (si pronuncia bàit), quindi un byte non è altro che una sequenza di 8 bit. Pertanto, un byte è in grado

di assumere 2^8 = 256 valori che vanno da 0 a 255, ovvero dal valore binario 0 al valore binario 11111111.

In informatica, al posto del singolo byte, vengono però molto spesso utilizzati anche i suoi numerosi multipli, tra i

quali:

 

  • il kB, ovvero il kilobyte, che equivale a 2^10 byte, cioè a 1.024 byte;
  • il MB, ovvero il megabyte, che equivale a 2^20 byte, cioè a 1.048.576 byte;
  • il GB, ovvero il gigabyte, che equivale a 2^30 byte, cioè a 1.073.741.824 byte;
  • il TB, ovvero il terabyte, che equivale a 2^40 byte, cioè a 1.099.511.627.776 byte.

 

Ad esempio, un file da 8 MB (si pronuncia fàil, e corrisponde al contenitore principale di informazioni e/o dati

nel formato digitale) corrisponde a 8 * 1.048.576 byte, ovvero a 8.388.608 byte, ma piuttosto che scrivere questo

complicato valore si preferisce generalmente utilizzare la più comoda e veloce notazione di 8 MB.

Bisogna tuttavia aggiungere che per comodità di calcolo i multipli del byte vengono di solito erroneamente

arrotondati a potenze di 2 invece che a potenze di 10, cioè, ad esempio, un kilobyte dovrebbe essere indicato con

10^3 = 1.000 byte e non con 2^10 = 1.024 byte. Questa ambiguità viene purtroppo sfruttata dai produttori di hard

disk e di memorie, che utilizzano i corretti multipli decimali, per far apparire le capacità dei loro prodotti più grandi di 

quanto queste in realtà non siano. In parole povere, un hard disk da, ad esempio, 800 GB non è proprio 800 GB ma in

realtà è circa 745 GiB, ovvero il 7,4% in meno. A proposito, GiB non si pronuncia gigabyte ma gibibyte, dalla

contrazione dei termini giga binary byte, e corrisponde, cioè, ai nuovi prefissi per multipli binari creati proprio per

evitare questa fastidiosa ambiguità, ma che, purtroppo, sono ancora poco utilizzati.

Arrivati comunque a questo punto dovresti aver finalmente capito che cos’è il sistema binario e qual è la differenza

tra bit e byte. Se tuttavia dovessi avere ancora qualche dubbio su che cos’è il sistema binario e/o su che differenza

c’è tra bit e byte ti consiglio vivamente di dare un’occhiata prima a questa pagina, poi a questa, e dopo anche

quest’altra.

 

P.S.: se casomai volessi avere maggiori informazioni riguardo le unità di misura informatiche, potresti anche

leggerti questo apposito articolo.

Nel mondo delle reti informatiche abbiamo sempre sentito parlare di indirizzi IP, ogni dispositivo li utilizza per

comunicare in rete.

Gli indirizzi IP sono rappresentati da una sequenza di numeri raggruppati in 4 terzine come ad esempio

192.168.001.001 o 192.168.1.1 con omissione degli zeri nelle ultime due terzine.

Per comprendere cosa si cela dietro questo formato numerico dobbiamo introdurre il concetto di numerazione binaria.

Per poter ragionare in un sistema binario, e non sul decimale a cui siamo abituati (numeri da 0 a 9), dobbiamo utillizzare 

soltanto due cifre simboliche: 0 e 1. Ebbene sì, i calcolatori riconoscono solo due numeri.

Ogni numero, del classico sistema decimale, può essere rappresentato nel sistema binario, utilizzando una sequenza

composta da sole due cifre.

Considerando l'indizzo IP citato pocanzi, andiamo ad analizzarne la struttura.

 

192 168 1 1
    11000000         10101000        00000001         00000001    
ic arrow drop down 48px-128 ic arrow drop down 48px-128 ic arrow drop down 48px-128 ic arrow drop down 48px-128
Un byte= 8 bit      
4 byte = 32 bit

 

Nel sistema decimale, ogni cifra all'interno del numero assume un peso differente in ragione della posizione, ad

esempio possiamo esprimere il numero 168 come somma di prodotti, in particolare: (1x100)+(6x10)+(8x1). Tale

sistema è basato sulle potenze in base dieci, di seguito una tabella esplicativa:

 

Posizione  III   II   I 
Potenza di 10
102
 10  10
Valore associato alla potenza  100  10  1
Cifra 1 6 8

 

Per cui la cifra in posizione I ha peso unitario, la cifra in posizione II ha peso 10 volte maggiore rispetto alla

precedente e la cifra in posizione III ha peso 100 volte maggiore rispetto alla I.

Il sistema binario è invece basato sulle potenze in base due, in particolare l'IP è composto da 4 gruppi di 8 bit, per cui

possiamo seguire lo stesso ragionamento considerando una stringa di 8 cifre (1 byte):

 

Posizione VIII VII VI V IV III II I
Potenza di 2 27 26 25 24 23 22 21 20
Valore associato alla potenza
128 64 32 16 8 4 2 1
Cifra 1 0 1 0 1 0 0 0

 

 

La somma dei prodotti tra cifra e valore associato alla potenza restituisce il valore decimale:

(0x1) + (0x2) + (0x4) +(1x8) + (0x16) + (1x32) + (0x64) + (1x128) = 168

Ma come facciamo a passare da numeri decimali a numeri binari?

Vediamolo con un esempio numerico, convertiamo 168 dal sistema decimale al sistema binario.

Nella seguente tabella sono riportati: nella prima riga i valori delle potenze in base 2, nella seconda riga delle

differenze e nella terza riga le cifre binarie

 

Valore decimale 128 64 32 16 8 4 2 1
Differenza 168-128=40 - - - - - - -
Cifra binaria 1 - - - - - - -

 

 

Per individuare la prima cifra binaria (VIII posizione) dobbiamo confrontare il numero da convertire (168) con il

valore decimale più alto disponibile (128). Se tale numero è maggiore allora inseriremo 1 come cifra binaria, in caso

contrario inseriremo 0.

Per determinare la cifra in posizione VII calcoliamo la differenza tra il valore decimale da convertire e 128, la

confrontiamo con 64, se tale differenza è maggiore inseriamo 1 come cifra, in caso contrario inseriamo 0.

Nella seconda riga abbiamo effettuato la differenza ottenendo 40 come risultato, tale valore è minore di 64 per cui

inseriamo uno 0 in corrispondenza della VII posizione.

 

Valore decimale 128 64 32 16 8 4 2 1
Differenza 168-128=40 - - - - - - -
Cifra binaria 1 0 - - - - - -

 

Procediamo con il calcolo della cifra in VI posizione confrontando 40 con 32. Quindi inseriamo 1 in quanto 40 è

maggiore di 32.

 

Valore decimale 128 64 32 16 8 4 2 1
Differenza 168-128=40 - 40-32=8 - - - - -
Cifra binaria 1 0 1 - - - - -

 

Procediamo con il calcolo della cifra in V posizione confrontando 8 con 16. Quindi inseriamo 0 in quanto 8 è minore di 16.

 

Valore decimale 128 64 32 16 8 4 2 1
Differenza 168-128=40 - 40-32=8 - - - - -
Cifra binaria 1 0 1 0 - - - -

 

Procediamo con il calcolo della cifra in IV posizione confrontando 8 con 8. Quindi inseriamo 1 in quanto 8 è uguale ad 8.

Valore decimale 128 64 32 16 8 4 2 1
Differenza 168-128=40 - 40-32=8 - 8-8=0 - - -
Cifra binaria 1 0 1 0 1 - - -

 

Procediamo con il calcolo della cifra in III posizione confrontando 0 con 4. Quindi inseriamo 0 in quanto 0 è minore di 4.

Valore decimale 128 64 32 16 8 4 2 1
Differenza 168-128=40 - 40-32=8 - 8-8=0 - - -
Cifra binaria 1 0 1 0 1 0 - -

 

Procediamo con il calcolo della cifra in II posizione confrontando 0 con 2. Quindi inseriamo 0 in quanto 0 è minore di 2.

Valore decimale 128 64 32 16 8 4 2 1
Differenza 168-128=40 - 40-32=8 - 8-8=0 - - -
Cifra binaria 1 0 1 0 1 0 0 -

 

Procediamo con il calcolo della cifra in I posizione confrontando 0 con 1. Quindi inseriamo 0 in quanto 0 è minore di 1.

Valore decimale 128 64 32 16 8 4 2 1
Differenza 168-128=40 - 40-32=8 - 8-8=0 - - -
Cifra binaria 1 0 1 0 1 0 0 0

 

In definitiva il numero decimale 168 nel sistema binario è esprimibile nel seguente modo: 10101000

In conclusione, quindi, ogni terzina dell'indirizzo IP può assumere valori decimali variabili da 0 a 255.

Valore decimale 255 1 0
Valore binario 11111111 00000001 00000000

 

 

Il termine inglese "broadcast" significa "trasmissione" o "chiamata circolare, a tutte le unità". Il primo termine si

riferisce alla trasmissione di programmi audio o video attraverso la rete radio, mentre il secondo descrive una forma di

comunicazione in cui un messaggio viene inviato a una rete di computer senza un destinatario specifico. Che cos'è

esattamente un broadcast nella tecnologia di rete, come funziona e quale ruolo ha l'indirizzo di broadcast?

 

Cos'è il broadcast

 

Un broadcast in una rete di computer è un messaggio che viene trasmesso a tutti i partecipanti di una rete e non richiede alcun feedback.Un computer collegato a una rete invia un pacchetto dati simultaneamente a tutti gli altri partecipanti della stessa rete. Il mittente non deve specificare l'indirizzo del destinatario: è proprio questo a distinguere il metodo di broadcast dal cosiddetto unicast, in cui il messaggio è indirizzato a un singolo destinatario conosciuto. Il vantaggio generale di un broadcast è che le informazioni possono essere ampiamente diffuse senza dover essere trasmesse più volte.

Per attuare la procedura è necessario un indirizzo speciale che sostituisce gli indirizzi dei rispettivi destinatari. Questo IP broadcast viene utilizzato principalmente quando gli indirizzi dei singoli partecipanti alla rete sono sconosciuti.

 

Definizione

Un broadcast è una connessione multipoint in una rete di computer. Mediante questa tipologia di connessione un

pacchetto dati viene trasmesso da un punto a tutti gli utenti di una rete di comunicazione utilizzando l'indirizzo di

broadcast.

 
La connessione tramite broadcast viene avviata dal mittente. Quest'ultimo invia il suo indirizzo, che può essere usato dai destinatari per contattarlo. Un broadcast funziona quindi in modo simile a una mailing list, dove i destinatari non sono visibili e il mittente non deve necessariamente conoscere gli indirizzi dei partecipanti alla rete. Gli indirizzi dei partecipanti vengono rivelati soltanto nel momento in cui si mettono in contatto con il mittente.

 

 N.B.

Oltre ai metodi broadcast e unicast, esistono altre forme di comunicazione di rete, come il metodo multicast, in cui

vengono indirizzati solo partecipanti (gruppi) selezionati e il metodo geocast, in cui questa selezione viene limitata a

specifiche posizioni geografiche.

 

 

Nozioni di base della tecnologia di broadcast

 

Per trasferire dati in una rete da un sistema a un altro tramite il protocollo Internet (abbreviato "IP"), viene utilizzato un indirizzamento. L'indirizzo IP consente in questo caso l'inoltro e la consegna univoca dei pacchetti dati dall'origine alla destinazione. Simile a un numero di telefono, questo indirizzo può essere diviso in prefisso e numero telefonico che, nel caso degli indirizzi IP, vengono chiamati rispettivamente parti di rete e host. Questa suddivisione è determinata dalla netmask, che viene posta sull'indirizzo IP come una sagoma. Una netmask ha la stessa lunghezza di un indirizzo IPv4 e indica quali posizioni di bit dell'indirizzo IP funzionano come parte di rete o host.

Tramite l'indirizzo di broadcast, i dati e le informazioni vengono inviati a tutti i dispositivi di una rete. I componenti della rete sono responsabili della ricezione e dell'elaborazione dei dati. Il compito dell'indirizzo IP broadcast è quello di collegare tutti i dispositivi di una rete.

Indirizzo IP: l'indirizzo di protocollo Internet (indirizzo IP) è composto da un codice numerico. A ogni dispositivo collegato a una rete di computer basata sulla tecnologia Internet viene assegnato un indirizzo IP. Questo indirizzo IP utilizza il protocollo Internet per la comunicazione. Un indirizzo IP svolge due compiti principali: l'identificazione dell'host o dell'interfaccia di rete e l'indirizzamento della posizione.

 

 Fatto

L'Internet Protocol Version 4 (IPv4) definisce un indirizzo IP come un numero a 32 bit. A causa della crescente

domanda e dell'esaurimento degli indirizzi IPv4 disponibili, nel 1995 è stata sviluppata una nuova versione di IP

(IPv6) composta da 128 bit per indirizzo IP, che è stata standardizzata nel dicembre 1998. Nel luglio 2017 è stata

pubblicata una definizione definitiva del protocollo. L'IPv6 è in uso dalla metà degli anni 2000.

 

 

Ethernet: nelle reti dati cablate, il software e l'hardware vengono collegati utilizzando la tecnologia Ethernet. Questa tecnologia consente lo scambio di dati tra utenti collegati localmente. La rete Ethernet è la tecnologia più diffusa di reti cablate, soprattutto nelle reti aziendali e domestiche. L'Ethernet, inoltre, è spesso alla base delle reti Intranet.

Indirizzo MAC (Media Access Control): l'indirizzo MAC è l'indirizzo di un dispositivo di rete. Questo indirizzo viene di solito scritto come numero esadecimale, ad esempio 08-00-20-ae-fd-7e o 08:00:20:ae:fd:7e (oppure: 080020aefd7e).

Come funziona un broadcast?

 

Un pacchetto broadcast raggiunge tutti i partecipanti di una rete locale, che non devono essere specificati esplicitamente come destinatari. I partecipanti di una rete possono aprire i pacchetti dati e quindi interpretare le informazioni, eseguire le istruzioni o scartarle.

Si distingue tra Limited Broadcast e Directed Broadcast:

 

Limited Broadcast

 

Nel caso del Limited Broadcast, viene specificato un indirizzo IP come destinazione. Questo indirizzo IP è sempre 255.255.255.255. Tecnicamente, questo broadcast è indirizzato a tutti gli indirizzi IP esistenti, ma in realtà è inteso come indirizzo di broadcast di una rete specifica. La destinazione si trova sempre all'interno della propria rete che può quindi essere convertita in un Ethernet Broadcast. Questi pacchetti non vengono inoltrati dal router.

 

Directed Broadcast

 

Nel caso del Directed Broadcast, invece, i pacchetti vengono sempre indirizzati a tutti i destinatari della rete di destinazione. In questo caso, l'indirizzo di broadcast è composto da una combinazione del numero della rete di destinazione e delle parti dei bit dell'host impostate su 1. Se la destinazione non rientra nella propria (sub)net, il router inoltra il pacchetto dati.

bit dell'host coincidono con quella parte dell'indirizzo IP che identifica un particolare host in una subnet. La subnet mask determina quale parte dell'indirizzo viene utilizzata per i bit di rete e quale parte per i bit dell'host. Ad esempio, un indirizzo IPv4 192.168.168.0.64/26 ha una parte host a 6 bit perché 26 dei 32 bit sono riservati alla parte di rete.

 

L'indirizzo di broadcast

 

Ogni rete o subnet ha un indirizzo di broadcast riservato, che consente a tutti i partecipanti della rete di inviare un broadcast corrispondente.

Se tutti i bit dell'host sono impostati sul valore binario 1, si tratta di un indirizzo di broadcast. Se invece tutti i bit dell'host sono impostati sul valore 0, si tratta dell'indirizzo della corrispondente subnet.

Esempio: Indirizzo IPv4 192.128.64.7/24

192.128.64.7 è l'indirizzo IP e 24 è la subnet mask. /24 corrisponde alla subnet mask 255.255.255.0. L'indirizzo IP è costituito da 4 numeri decimali, chiamati ottetti, che sono separati da punti. Un ottetto è formato da 8 bit, motivo per cui l'IPv4 è un indirizzo a 32 bit. Ogni ottetto può rappresentare un numero compreso tra 0 e 255. In questo caso, l'intero ultimo ottetto è composto da bit dell'host. In questo esempio, quindi, l'indirizzo di broadcast sarebbe 192.128.64.255, con tutti i bit dell'host a 1.

 

Dal grafico emerge quanto segue:

192.128.64.1 = primo indirizzo host

192.128.64.254 = ultimo indirizzo host

192.128.64.255 = indirizzo di broadcast

Dove si trova quindi l'indirizzo di broadcast? L'indirizzo IP è una sequenza di numeri a 4 cifre con valori compresi tra 0 e 255. Un indirizzo di IP broadcast viene assegnato una volta sola in ogni rete. Corrisponde sempre all'ultimo indirizzo IP della subnet.

 

 N.B.

L'indirizzo di rete e l'indirizzo di broadcast non vengono utilizzati come indirizzi IP del computer. In una rete il

primo intervallo di indirizzi è riservato all'indirizzo di rete e l'ultimo all'indirizzo di broadcast. Gli indirizzi host della

rete si trovano nell'intervallo compreso tra questi due.

 

Per determinare l'indirizzo di broadcast della vostra rete in Windows cercate cmd nel menu di avvio e premete il tasto Invio, si aprirà la console di Windows.

Digitate ora ipconfig /all per visualizzare tutti i dati relativi alla vostra rete LAN. Tramite questo comando potete scoprire, oltre a molte altre informazioni interessanti, il vostro indirizzo IP nell'Intranet, ovvero nella vostra rete domestica, nonché la subnet mask della rete. A partire da questi dati potete risalire all’IP broadcast. Nella rete pubblica di Internet, il router utilizza un indirizzo IP diverso, assegnato dal provider, che può essere visualizzato nell'interfaccia del router o ottenuto tramite strumenti come ifconfig.me.

Con ipconfig potete visualizzare il vostro indirizzo IP personale e la subnet mask per calcolare l'indirizzo di broadcast della rete.

 

Nel nostro esempio con l'indirizzo IP 192.168.64.172 e la subnet mask 255.255.252.0 si ottiene tramite subnetting il seguente indirizzo di rete: 192.168.64.0. La netmask (in notazione CIDR /22) ammette 1.022 host: 210 (dato che nella subnet mask abbiamo dieci parti 0, che possono avere valore 0 o 1), esclusi l'indirizzo di rete e l'indirizzo di broadcast. L'ultimo valore possibile è quindi 192.168.67.255, le ultime dieci posizioni dell'indirizzo IP hanno il valore 1.

 

Un protocollo di comunicazione è inteso come il sistema di regole di un sistema di comunicazione che consente la

trasmissione di informazioni tra due o più entità.

 

Quali sono i protocolli di comunicazione?

il protocolli di comunicazione, in telecomunicazioni e informatica, sono definiti come un sistema di regole attraverso il quale sono consentite due o più entità che fanno parte di un sistema di comunicazione, comunicare a vicenda, per trasmettere informazioni attraverso qualsiasi tipo di variazione di grandezza fisica.

 

 

Pertanto, il protocollo di comunicazione è costituito dalle regole o da uno standard con cui sono definiti la sintassi, la semantica e la sincronizzazione della comunicazione, nonché i possibili metodi per il recupero degli errori. Infine, un protocollo può essere implementato da hardware o software e se vuoi, in una combinazione di entrambi.

 

A cosa servono i protocolli di comunicazione? 

 

Per consentire la condivisione dei dati su una rete, è necessaria una comunicazione preventiva e tale comunicazione È regolato dai protocolli di comunicazione, che, secondo la loro conformità, sarà consentire la comunicazione.

Ora, per comprendere a fondo a cosa serve un protocollo di comunicazione, si propone di vedere il seguente contenuto (in video), in cui l'argomento è sviluppato in dettaglio.

 

Tipi di protocolli di comunicazione 

 

Il protocollo di comunicazione può essere inteso come un insieme di regole formali, che sono rispettate per consentire la comunicazione tra dispositivi. I tipi sono:

 

  • TCP / IP Protocollo di base impostato per la comunicazione di networking. Con il tuo aiuto c'è la trasmissione di informazioni tra computer appartenenti a una rete. Come molti computer in una rete, puoi comunicare con altri al di fuori di esso e quella rete virtuale è conosciuta come Internet.
  • TCP o protocollo di controllo della trasmissione È orientato alla comunicazione e la trasmissione dei dati è affidabile. È responsabile dell'assemblaggio dei dati provenienti da carichi superiori ai pacchetti standard.
  • HTTP (Hypertext Transfer Protocol) Consente di recuperare e indicizzare le informazioni che consentono di effettuare salti intertestuali in modo efficiente. È possibile trasferire testi in più formati.
  • FTP (File Transfer Protocol) Viene utilizzato per i trasferimenti di file remoti.
  • SSH (Secure Shell) È stato sviluppato per migliorare la sicurezza della comunicazione su Internet. Elimina l'invio di password non crittografate e le informazioni sono sempre crittografate.
  • UDP (User Datagram Protocol) È destinato alle comunicazioni offline e che non dispongono di meccanismi per la trasmissione di datagrammi.
  • SNMP (Simple Network Management Protocol) Utilizza UDP per il trasporto di dati e utilizza termini e protocolli TCP / IP diversi come amministratori e agenti, anziché client e server.
  • TFTP (Trivial File Transfer Protocol) Per i trasferimenti, è molto semplice e semplice. Non ha sicurezza.
  • SMTP (Simple Mail Transfer Protocol) Consiste in diverse regole che regoleranno il formato e il trasferimento dei dati durante l'invio di e-mail.
  • ARP (Address Resolution Protocol) Vengono raggiunti compiti che cercano l'associazione di un dispositivo IP, identificato con un indirizzo IP con un dispositivo di rete, che ha un indirizzo di rete fisico. È utilizzato per dispositivi di rete Ethernet locali.

 

Proprietà e caratteristiche dei protocolli di comunicazione 

 

Sebbene i protocolli di comunicazione possano variare notevolmente a seconda dello scopo o del grado di sofisticazione, nella maggior parte dei casi una o più delle proprietà saranno specificate di seguito:

  • Rilevano la connessione fisica sottostante (che può essere cablata o inalmbrica) o se esiste un altro endpoint o un nodo.
  • il handshaking o a istituzione di comunicazione, che allude a una negoziazione dinamica tra peer in modo dinamico secondo i parametri di un canale di comunicazione, prima che inizi la normale comunicazione nel suo canale.
  • La negoziazione di diverse caratteristiche di connessione.
  • Come inizia e finisce il messaggio.
  • Le procedure per la formattazione del messaggio.
  • Cosa viene fatto con messaggi corrotti o formattati in modo errato.
  • Come rilevare una perdita imprevista per la connessione e cosa viene fatto in seguito.
  • La fine della sessione e / o della connessione.
  • Strategie per migliorare la sicurezza.
  • Come verrà costruita una rete fisica.

 

Esempi di protocolli di comunicazione 

 

Esistono protocolli diversi a seconda dell'applicazione e uno di questi dipende dal livello di astrazione; Sulla base di questo, presentiamo i diversi protocolli di comunicazione divisi per livelli.

 

 

Guida più dettagliata: https://it.wikipedia.org/wiki/Protocollo_di_rete

 

Cosa sono, a cosa servono, quali sono le porte di comunicazione di un personal computer connesso ad una rete.

Le porte sono il mezzo essenziale che permette ai protocolli TCP e UDP di gestire flussi multipli di dati attraverso una

unica connessione fisica alla rete.

Cosa sono le porte TCP/IP

 

Per fare un paragone con la vita reale immaginiamo di spedire una lettera ad un amico. Se il destinatario vivesse in una

abitazione indipendente e ne fosse l’unico inquilino, sulla busta sarebbe sufficiente indicare il suo indirizzo. Questa

situazione è però piuttosto inusuale in quanto, più probabilmente, egli vivrà in un palazzo con altri condomini oppure

condividerà l’abitazione con altri parenti. Ognuno di questi può ricevere posta al medesimo indirizzo e quindi per

individuare univocamente il destinatario sarà necessario specificare anche il suo nome completo. Allo stesso modo

indicheremo sulla busta le informazioni riguardanti il mittente per poter ricevere una risposta.

 

Una cosa analoga avviene per le comunicazioni in rete attraverso il protocollo TCP/IP. Ogni macchina sarà individuata

sulla rete da un indirizzo IP ma poiché molteplici possono essere i servizi offerti dal sistema e molte le connessioni

contemporanee è necessario un metodo per separare i singoli flussi di dati ed indirizzarli verso il corretto programma di

gestione. A chi non è capitato per esempio di navigare e contemporaneamente di scaricare la posta elettronica o usare un

programma peer to peer? Come fa il sistema a riconoscere a chi sono diretti i dati in arrivo? Il problema viene risolto

attraverso le porte che, in un paragone con l’esempio precedente, fanno le veci del nome del mittente e del

destinatario. Flussi di dati distinti all’interno della stessa macchina sono caratterizzati‚ da porte diverse. Una

connessione tra due computer viene quindi univocamente identificata dalla coppia IP:porta del mittente e del

destinatario.


Le porte sono indicate con un numero intero compreso tra 0 e 65.535 e possono essere assegnate al protocollo TCP o

al protocollo UDP. Questo fa si che possano esistere in totale 131.072 porte diverse. In linea di principio i numeri di

porta potrebbero essere scelti arbitrariamente durante la connessione tra due computer ma, come vedremo dall’analisi

che segue, la cosa si rivela decisamente poco pratica.

Ogni comunicazione sulla rete presume che inizialmente una delle due macchine coinvolte nello scambio di dati non

faccia altro che attendere un contatto dall’esterno. Questa macchina viene indicata con il nome di server. Un sistema

che contatta il server viene invece definito client. Sarà sempre il client quindi a fare il primo passo per instaurare una

connessione.


Come detto in precedenza, se un computer collegato ad un rete desidera comunicare con un altro sistema deve

necessariamente sapere l’indirizzo completo della macchina remota. In questo caso quindi il client deve essere a

conoscenza sia dell’ l’IP sia della porta su cui il server si aspetta di ricevere i dati relativi al servizio di interesse. Se il

server scegliesse la porta in modo casuale nessuno saprebbe come raggiungerlo. Per questo motivo nasce l’esigenza di

standardizzare e rendere pubblici i numeri di porta relativi ai più comuni servizi disponibili su internet. In questo

modo un client che volesse accedere ad un qualsiasi server HTTP saprebbe a priori di doversi collegare alla porta TCP

numero 80. Un server di posta SMTP sarà sempre raggiungibile sulla sua porta TCP 25 così come un server FTP

userà la TCP 21 e un DNS la porta UDP 53.

Contrariamente al caso precedente il client non ha mai l’esigenza di rendere pubblico il suo indirizzo completo prima

della connessione perché questo verrà automaticamente comunicato al server nel momento in cui verrà contattato. In

questo caso quindi il numero di porta del client può essere scelto arbitrariamente dal sistema tra quelli al momento

disponibili.

L’Internet Assigned Numbers Authority (IANA) è l’ente che ha tra i suoi scopi la standardizzazione delle porte e

l’aggiornamento costante di un documento, chiamato ports-number, contenente l’elenco dei servizi registrati e delle

relative porte utilizzate.


A questo scopo, nel suddetto documento, lo spazio delle 65536 porte UDP e TCP è stato suddiviso in tre parti:

  • Well Known Ports (porte 0 – 1023) Sono porte assegnate univocamente e sono riservate ai servizi server standard di cui si è parlato in precedenza. I client non dovrebbero mai usare queste porte.
  • Registered Ports (porte 1024 – 49151) L’utilizzo di questo insieme di porte è generalmente libero nonostante contenga dei servizi registrati. Non esistono vincoli restrittivi a riguardo tanto che tutti i client usano normalmente le porte a partire dalla numero 1024 per collegarsi ad un sistema remoto.
  • Dynamic and/or Private Ports (porte 49152 – 65535) Nessun servizio è registrato in quest’area. Il suo utilizzo è assolutamente libero.

Le Well Known Ports sono quindi porte riservate unicamente ai server. Le rimanenti porte (1024-65535), spesso

chiamate porte alte, possono essere usate liberamente sia dai client che dai server senza particolari restrizioni. Di

seguito si indicano alcune delle Well Known Ports più comuni. L’elenco completo può essere reperito nel documento

pubblicato da IANA.

 

7 ECHO
9 DISCARD
13 DAYTIME
17 QUOTD (Quote of the day)
19 CHARGEN (Character generator)
20 FTP-DATA (FTP data transfer)
21 FTP (File Transfer Protocol)
22 SSH (Secure Shell)
23 TELNET
25 SMTP (Simple Mail Transfer Protocol)
42 WINS (Windows Internet Naming Service)
53 DNS (Domain Name Server)
69 TFTP (Trivial File Transfer Protocol)
79 FINGER
80 HTTP (Hyper Text Transfer Protocol)
110 POP3 (Post Office Protocol 3)
113 IDENT/AUTH
119 NNTP (Network News Transfer Protocol)
135 EPMAP (DCE Endpoint Mapper)
137 NETBIOS-ns (name service)
138 NETBIOS-dgm (datagram service)
139 NETBIOS-ss (session service)
143 IMAP (Internet Message Access Protocol)
161 SNMP (Simple Network Management Protocol)
389 LDAP (Lightweight Directory Access Protocol)
443 HTTPS (Secure HTTP)
445 Microsoft-ds (Microsoft Directory Service)
   

 

I link seguenti permettono un ulteriore utile approfondimento sui servizi associati alle principali

porte: http://grc.com/PortDataHelp.htm http://www.iss.net/security_center/advice/Exploits/Ports/default.htm

Un approfondimento particolare sulle porte usate dai sistemi

microsoft: http://www.iss.net/security_center/advice/Exploits/Ports/groups/Microsoft/default.ht


Abbiamo visto che esiste una profonda differenza tra i ruoli dei processi server e dei processi client. I primi si mettono

in ascolto (stato listening) su una determinata porta nota in attesa di servire una macchina che ne faccia richiesta. Il

loro ruolo è quindi essenzialmente passivo. I secondi invece hanno un ruolo attivo essendo i soli a poter

effettivamente dare inizio ad una connessione e ad un vero e proprio trasferimento di dati (stato della

connessione established).

Dal punto di vista della sicurezza riveste grande importanza lo stato di una porta vista dall’esterno della macchina.

Sono possibili tre casi:

  • Porta aperta (Open): un processo server è in ascolto sulla porta. È possibile stabilire una connessione dall’esterno.
  • Porta chiusa (Closed): nessun processo è in attesa e la porta è quindi inutilizzata. Per comunicare tale situazione ad un client che erroneamente cercasse di connettersi, il sistema operativo manda un segnale di reset della comunicazione.
  • Porta filtrata (Stealth o Filtered): nessun processo è in attesa e ad un tentativo di connessione la porta risulta inesistente. In questo caso nessun pacchetto di reset viene inviato al client e il sistema rimane semplicemente muto. Il client abbandona ogni tentativo dopo un certo timeout: dal suo punto di vista la macchina remota non esiste neppure.

Nel caso un servizio debba necessariamente essere disponibile sulla rete è inevitabile che la relativa porta sia aperta.

In questa situazione è essenziale tenere aggiornato il proprio server con tutte le patch di sicurezza per mettersi al

riparo da eventuali falle di programmazione che potrebbero permettere ad un malintenzionato di penetrare nel sistema.

Proprio per ridurre questa eventualità si consiglia di disabilitare tutti i servizi non strettamente necessari. Minore è il

numero di porte aperte e minori sono le possibili vie d’accesso alla macchina.

Una porta chiusa è sicuramente fonte di minori preoccupazioni rispetto ad una aperta ma non è ancora immune da

possibili attacchi a vulnerabilità dello stack TCP/IP. In caso di debolezza dello stack le porte chiuse possono ancora

rendere possibili attacchi di tipo Denial of Service (DoS) o crash di sistema.

Il completo filtraggio delle porte non utilizzate (stealth) è possibile grazie ad un sistema firewall. Questa è la

situazione auspicabile per tutte le porte che non debbano rimanere aperte poiché garantisce la massima sicurezza per il

sistema.


 

 

A questo punto non ci rimane che illustrare quali sono gli strumenti che ci permettono di stabilire lo stato di una porta.

Considereremo tre casi frequenti:

  • analisi del sistema locale
  • analisi di un sistema remoto
  • analisi del sistema o della rete locale da parte di un sistema remoto

 

 

 

 

 

Analisi del sistema locale

È possibile determinare le porte aperte da connessioni attive o da eventuali server presenti sul nostro PC grazie al

comando Netstat.

Digitando dal prompt dei comandi

netstat -n

possiamo visualizzare tutte connessioni attive (established) o in fase di chiusura. L’opzione -n serve a visualizzare il

risultato in forma numerica e ad evitare la risoluzione degli indirizzi IP nei rispettivi nomi. Si provi anche ad omettere

tale opzione.

Il comando

netstat -na

aggiunge alle precedenti informazioni anche quelle sulle porte in ascolto (listening) permettendo quindi di individuare

tutti i server in esecuzione sul computer in esame.

Per un help su tale comando si digiti

netstat -?

Per finire si fornisce il link ad un utile programma che mette a disposizione la funzione netstat in modalità grafica

fornendo allo stesso tempo la possibilità di visualizzare ed eventualmente terminare i processi collegati alle porte:

http://www.sysinternals.com/ntw2k/source/tcpview.shtml

 

Analisi di un sistema remoto

Per quando riguarda l’analisi delle porte su un sistema remoto è indispensabile l’uso di un apposito programma

chiamato portscanner. Un ottimo strumento di facile utilizzo è a tal proposito Superscan, descritto recentemente

nella Miniguida a Superscan 4.0. Per quanto riguarda gli utenti con esigenze più sofisticate invece si consiglia Nmap

un portscanner dalle innumerevoli opzioni e potenzialità, disponibile sia per sistemi Linux che per sistemi Windows.

A causa della sua intrinseca complessità il programma è consigliato a chi abbia discrete conoscenze sulle tecniche di

scansione.

Analisi da parte di un sistema remoto

L’ultima situazione analizzata è quella in cui desideriamo testare la sicurezza del nostro sistema o della nostra rete

dall’esterno per verificare quali porte siano aperte, chiuse oppure stealth. Questo test risulta utile tutte le volte che la

nostra macchina o la nostra rete non è direttamente esposta su internet ma è separata da questa da un firewall

(software o hardware), un router od un generico gateway. In questo caso un’analisi locale avrebbe poco senso. Non

sempre sia ha la possibilità di eseguire personalmente questo test da un computer esterno alla propria rete e per questo

motivo molti siti che si interessano di sicurezza hanno messo a disposizione questo servizio direttamente dal loro sito

web.

 

Privacy Policy